使用C#在.net中读取rss的最佳方法

Tro*_*ics 94 c# rss xmltextreader

阅读RSS源的最佳方法是什么?

XmlTextReader用来实现这一目标.有没有其他最好的方法呢?

XmlTextReader reader = new XmlTextReader(strURL);

DataSet ds = new DataSet();
ds.ReadXml(reader);
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

dlo*_*lez 164

添加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;
    ...                
}
Run Code Online (Sandbox Code Playgroud)

  • 这是一种讽刺.真棒和简洁.您还需要使用System.Xml; 但这很明显.对于Blogger,网址目前为"http://blogname.blogspot.com/feeds/posts/default"(Atom 1.0)和"http://blogname.blogspot.com/feeds/posts/default?alt=rss" RSS 2.0.SyndicationItem项具有您需要的所有项属性.只需检查Visual Studio调试器中的对象并进行照明即可. (11认同)
  • 对于.Net Core,要安装使用的NuGet软件包是`System.ServiceModel.Syndication`。 (2认同)

Mat*_*nes 85

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

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

  • 仅供参考,请注意谷歌(即gmail)使用不兼容的语法.您需要坚持使用常规XML方法. (3认同)
  • 马修,你有任何示例代码..我不明白msdn中的代码.. (2认同)

SLa*_*aks 8

你正在寻找这样的SyndicationFeed课程.

  • 你不明白什么? (3认同)

emi*_*ast 8

这是一个老帖子,但为了节省一些时间,如果你像我一样到达这里,我建议你看看CodeHollow.FeedReader包,它支持更广泛的RSS版本,更容易使用,看起来更健壮.https://github.com/codehollow/FeedReader