我在使用c#解析rss feed时遇到问题。 我曾经使用这种方法来加载Feed。 XDocument rssFeed = XDocument.Load(@url); 但是,当我注意到feed有一个xml-stylesheet时,这个方法崩溃说xml没有很好地格式化...... 这是包含此标记的RSS订阅源 http://www.channelnews.fr/accueil.feed?type=rss
使用c#解析任何RSS Feed的最佳方法是什么?
感谢您的帮助
答案 0 :(得分:3)
此代码适用于我
static XDocument DownloadPage()
{
var req = (HttpWebRequest)WebRequest.Create("http://www.channelnews.fr/accueil.feed?type=rss");
req.UserAgent = "Mozilla";
using(var response = req.GetResponse())
using(var stream = response.GetResponseStream())
using (var reader = new StreamReader(stream))
return XDocument.Load(reader);
}
注意,如果省略设置UserAgent,那么响应将包含字符串'DOS',它绝对不是xml:)
答案 1 :(得分:0)
这个更好用:
XDocument xdoc = XDocument.Load("http://pedroliska.wordpress.com/feed/");
var items = from i in xdoc.Descendants("item")
select new
{
Title = i.Element("title").Value
};
所以现在你可以通过循环或类似的方式访问rss标题:
items[0].Title
只是代码从rss提要中提取标题,你可以提取描述,链接,pubDate等。