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

4

1 に答える 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);
}
于 2013-01-18T14:19:37.103 に答える