我正在将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格式没有任何通道节点.检查以下
您的第二个链接是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 <em>lot</em> 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
}
希望能帮助到你