最好的方法来阅读.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类。
在引用中添加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); } }