最好的方法来阅读.net RSS源。使用C#

RSS feed的最好方法是什么?

我正在使用XmlTextReader来实现这一点。 有没有其他最好的方法来做到这一点?

 XmlTextReader reader = new XmlTextReader(strURL); DataSet ds = new DataSet(); ds.ReadXml(reader); 

使用XmlTextReader阅读RSS提要后,有什么办法可以填充数据到ListItem而不是DataSet

在这里输入图像说明

System.ServiceModel.Syndication命名空间有一些东西给你,即SyndicationFeed类。

这是一个相当简单的例子。 http://blogs.msdn.com/b/steveres/archive/2008/01/20/using-syndicationfeed-to-displaying-photos-from-spaces-live-com.aspx

在引用中添加System.ServiceModel

使用SyndicationFeed

 string url = "http://fooblog.com/feed"; XmlReader reader = XmlReader.Create(url); SyndicationFeed feed = SyndicationFeed.Load(reader); reader.Close(); foreach (SyndicationItem item in feed.Items) { String subject = item.Title.Text; String summary = item.Summary.Text; ... } 

您正在寻找SyndicationFeed类 ,正是这样做。

用这个 :

 private string GetAlbumRSS(SyndicationItem album) { string url = ""; foreach (SyndicationElementExtension ext in album.ElementExtensions) if (ext.OuterName == "itemRSS") url = ext.GetObject<string>(); return (url); } protected void Page_Load(object sender, EventArgs e) { string albumRSS; string url = "http://www.SomeSite.com/rss‎"; XmlReader r = XmlReader.Create(url); SyndicationFeed albums = SyndicationFeed.Load(r); r.Close(); foreach (SyndicationItem album in albums.Items) { cell.InnerHtml = cell.InnerHtml +string.Format("<br \'><a href='{0}'>{1}</a>", album.Links[0].Uri, album.Title.Text); albumRSS = GetAlbumRSS(album); } }