2009-02-23 98 views
51

我一直想做一段时间的RSS阅读器(只是为了好玩),但我从没有丝毫的想法,从哪里开始。我不了解RSS的任何内容。有没有关于RSS的好教程,以及如何在应用程序中实现它(而不是关于如何制作RSS阅读器的教程,这太容易了)。如何开始制作C#RSS阅读器?

回答

51

http://msdn.microsoft.com/en-us/library/bb943474.aspx

http://msdn.microsoft.com/en-us/library/system.servicemodel.syndication.syndicationfeed.aspx

http://msdn.microsoft.com/en-us/library/bb943480.aspx

基本上没有在.NET 3.5框架,做解析和代表饲料的繁重工作了很多东西;例如,编写一个30行的应用程序并不难,例如,该应用程序需要一个提要URL并下载该提要并打印所有项目的标题和作者。 (Works的RSS 2.0(不是别人)或Atom!)

+2

参见例如http://lorgonblog.spaces.live.com/blog/cns!701679AD17B6D310!164.entry的顶部有一个10行代码片段(F#,但大多只是调用框架API),它们会让你从Uri打印Feed在大约30秒的编码。 – Brian 2009-02-23 01:36:14

0

如果你写一个全功能的阅读器,而无需使用任何库,也认为有ATOM提要解析。

11

如果你正专注于对RSS的分析逻辑创建RSS阅读器,而不是,你可能想委托创建/读取RSS使用该免费的RSS库上CodePlex.com

称为 Argotic
0

RSS本身是饲料真的很简单。只是频道的XML描述,以及该频道上的项目列表(可能附有每个项目的文件)。跟踪更新有点棘手,管理编码和发布时间/日期也很棘手。真正的噩梦是不同网站使用的RSS格式的所有不同“解释”。如果你真的正在编写一个feed阅读器,你可能需要先解析Atom,因为它是一个更标准化的格式,并且可能会让你更快,并有一个好的设计可以从RSS分支出来。但实际上,您应该只使用一个RSS解析库 - 最好是可用的最兼容的解析库(但不要为RSS库支付费用;它们很普通)。

6

作为另一张海报推荐,SyndicationFeed类和Argotic是最好的选择。

如果性能问题,SyndicationFeed类将会​​更好。我将其基准为在我的硬件上比Argotic快大约9倍。

我在SyndicationFeed类中遇到的问题是它能够成功解析来自'net'的任何随机提要。令人惊讶的是,它经常失败并出现XmlException。

对于我的用途,我坚持与Argotic。毕竟,它是开源的,所以我可以随时做出改变,如果我需要的话。

0

请考虑阅读RSS Bandit的源代码,该代码是C#Winforms(可能即将推出的WPF)RSS阅读器。

你应该通过逐步完成应用程序来获得一些好点子。

1

我建议你使用这个

RSS.NET是一个开源.NET类库的RSS提要。它提供了一个可重用的对象模型来解析和编写RSS提要。它完全兼容RSS版本0.90,0.91,0.92和2.0.1,实现所有构造。

由于标准企业联合供稿不支持其他版本的rss。

0

我一直在使用RSS相当多,并发现ATOM提要通常更容易使用RssSyndication类进行解析。对于RSS 2.0规范,如果提要实际上是有效的,那么从URI加载XDocument并根据需要解析数据就很容易。

0

如果你不能使用System.ServiceModel.Syndication.Syndicationfeed,例如因为你正在使用PCL(可移植类库)。我写了一个:FeedParserPCL。你可以在NuGet找到它。