C#使用包含xml样式表的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

我在使用c#解析rss提要时遇到问题。 我曾经使用这种方法来加载提要。 XDocument rssFeed=XDocument.Load(@url); 但是,当我注意到提要有一个xml样式表时,这个方法崩溃了,因为xml格式不好。。。 这是一个包含此标记的rss提要

使用c#解析任何rss提要的最佳方法是什么

谢谢你的帮助

这段代码对我有用

    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);}