的RSS.NET无法解析feedburner提要

我正在将RSS.NET用于.NET 2.0.尽我所能,我得到以下0个频道:

feed = RssFeed.Read("http://feeds.feedburner.com/punchfire?format=xml");

我注意到对于其他供稿,例如

feed = RssFeed.Read("http://www.engadget.com/rss.xml");

我猜它必须是有效的xml文档.您认为我应该在我的应用程序代码中检查“ .xml”还是有什么方法可以将RSS.NET调整为接受feedburner供稿?

解决方法:

您无法获得任何通道节点的原因是,atom格式没有任何通道节点.检查以下

> The Atom Syndication Format

您的第二个链接是Rss Feed,其中包含如下所示的频道节点

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
<channel>
<title>Engadget</title>
<link>http://www.engadget.com</link>
 .
 .
 .

另一方面,如您通过遵循上面的规范链接可能会理解,原子供稿不使用通道节点.

<?xml version="1.0" encoding="utf-8"?>
   <feed xmlns="http://www.w3.org/2005/Atom">
     <title type="text">dive into mark</title>
     <subtitle type="html">
       A &lt;em&gt;lot&lt;/em&gt; of effort
       went into making this effortless
     </subtitle>
     <updated>2005-07-31T12:29:29Z</updated>
     <id>tag:example.org,2003:3</id>
     <link rel="alternate" type="text/html"
      hreflang="en" href="http://example.org/"/>
     <link rel="self" type="application/atom+xml"
      href="http://example.org/feed.atom"/>
     <rights>Copyright (c) 2003, Mark Pilgrim</rights>
     <generator uri="http://www.example.com/" version="1.0">
       Example Toolkit
     </generator>
     <entry>
      .
      .
      .

编辑:检查提要格式

    // url of the feed 
    string utlToload = @"http://feeds.feedburner.com/punchfire?format=xml"



    // load feed
        Argotic.Syndication.GenericSyndicationFeed feed = 
Argotic.Syndication.GenericSyndicationFeed.Create(new Uri(urlToLoad));

        // check what format is it
        if (feed.Format.Equals(SyndicationContentFormat.Rss))
        {
            // yourlogic here
        }
        else if (feed.Format.Equals(SyndicationContentFormat.Atom))
        {
            // yourlogic here
        } 
        else if (feed.Format.Equals(SyndicationContentFormat.NewsML))
        {
            // yourlogic here
        } 

希望能帮助到你

上一篇:打造属于自己的 RSS 源(二)-RSS 源


下一篇:c# – 覆盖syndicationfeed中的根元素,将名称空间添加到根元素