C#使用包含xml样式表的rss提要?
我在使用c#解析rss提要时遇到问题。 我曾经使用这种方法来加载提要。 XDocument rssFeed=XDocument.Load(@url); 但是,当我注意到提要有一个xml样式表时,这个方法崩溃了,因为xml格式不好。。。 这是一个包含此标记的rss提要 使用c#解析任何rss提要的最佳方法是什么 谢谢你的帮助这段代码对我有用C#使用包含xml样式表的rss提要?,c#,xml,.net-3.5,rss,C#,Xml,.net 3.5,Rss,我在使用c#解析rss提要时遇到问题。 我曾经使用这种方法来加载提要。 XDocument rssFeed=XDocument.Load(@url); 但是,当我注意到提要有一个xml样式表时,这个方法崩溃了,因为xml格式不好。。。 这是一个包含此标记的rss提要 使用c#解析任何rss提要的最佳方法是什么 谢谢你的帮助这段代码对我有用 static XDocument DownloadPage() { var req = (HttpWebRequest)We
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:)这一个更好用:
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提要中提取标题,就可以提取描述、链接、发布日期等。是的,就是这样……我错过了UserAgent。。。谢谢请记住将名称空间添加到传递给
.substands
和.Element
的XName中,否则可能会得到0个结果。对于Atom提要,这是静态的,因此:private静态字符串XName(string elementName){return string.Concat('{http://www.w3.org/2005/Atom}“,elementName);}