.Net读取rss的二种方法

in Develop

现在的Blog都提供新闻聚合的功能,即Blog提供一个rss地址,以供订阅,该地址返回的是一个纯xml文件。
关于该xml文档的约定与格式,大家可以去W3C网站去查阅。
在.Net 2.0中如何去获取这些资源呢?

1、用DataSet来获取。
在DataSet中有一个ReadXml方法,该方法有一个如下的重载

public XmlReadMode ReadXml (
stringfileName
)

fileName参数需要提供一个xml文件的地址,可以是一个相对路径,也可以是一个绝对路径,也可以是一个URL地址,

DataTable tbl = new DataSet().ReadXml(“http://yibin.us/rss.aspx”).Table["item"];
将返回我的rss中item节点的所有内容。
至于字段就可以遍历DataTable的Column了。
当然,上面的代码只是一个粗略的代码,并没有做一些异常处理,如在ReadXml时会有异常,在取Table时也会有异常。
有了DataTable,余下的事情就好办多了。

$ad$

2、用XmlDocument来处理。
XmlDocument doc = new XmlDocument();
doc.Load(“http://yibin.us/rss.aspx”); //载入一个xml文档放入XmlDocument中
XmlNodeList nodelist = doc.GetElementsByTagName(“item”); //获取所有item项
foreach (XmlNode node in nodelist)
{
foreach (XmlNode childnode in node.ChildNodes)
{
Response.Write(childnode.Name + “=” + childnode.InnerText + “<br />”);
}
}

还可以用DataSet.ReadXml和XmlDocument.Load方法的其它几个重载来完成。

2 Comments

2 Comments

  1. 给我做的广告是不是就用这种方法写的啊?

  2. 你的那个是先把rss文件download到服务器上,然后直接从服务器上读取,每三十分钟下载一次

Leave a Reply

Using Gravatars in the comments - get your own and be recognized!

XHTML: These are some of the tags you can use: <a href=""> <b> <blockquote> <code> <em> <i> <strike> <strong>