首页 文章

MS Syndication类不接受有效的RSS提要

提问于
浏览
1

为什么MS Syndication类不接受有效的RSS提要?

public static Stream GetResponseStream(string url)
{
    var uri = new Uri(url, true);
    WebRequest request = WebRequest.Create(uri);
    request.Method = WebRequestMethods.Http.Get;
    WebResponse response = request.GetResponse();
    return response.GetResponseStream();
}

public static void GetRSS()
{
    using (Stream stream1 = GetResponseStream("http://www.lostfilm.tv/rssdd.xml"))
    {
        try
        {
            XmlReader xmlReader = XmlReader.Create(stream1);
            var feeds = SyndicationFeed.Load(xmlReader);
        }
        catch (Exception ex)
        {
            // Error :( 
        }
    }
}

RSS本身有效:

http://validator.w3.org/appc/check.cgi?url=http%3A%2F%2Fwww.lostfilm.tv%2Frssdd.xml

1 回答

  • 1

    SyndicationFeed 仅支持RSS 2.0和Atom 1.0(您的RSS版本为0.91) .

    您可以使用外部库,例如Argotic Syndication Framework .

    使用NuGet安装软件包:

    Install-Package Argotic.Core
    

    然后尝试:

    var feed = RssFeed.Create(new Uri("http://www.lostfilm.tv/rssdd.xml", true));
    foreach (var post in feed.Channel.Items)
    {
        Console.WriteLine(post.Title);
    }
    

相关问题