如何开始制作 C# RSS 阅读器?

Posted

技术标签:

【中文标题】如何开始制作 C# RSS 阅读器?【英文标题】:How can I get started making a C# RSS Reader? 【发布时间】:2010-10-09 05:49:30 【问题描述】:

我一直想做一个 RSS 阅读器(只是为了好玩),但我不知道从哪里开始。我对RSS一无所知。有没有关于 RSS 以及如何在应用程序中实现它的好的教程(不是关于如何制作 RSS 阅读器的教程,那太容易了)。

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

我一直在使用 RSS 并发现使用 RssSyndication 类通常更容易解析 ATOM 提要。对于 RSS 2.0 规范,如果提要确实有效,那么从 URI 加载 XDocument 并根据需要解析数据同样容易。

【讨论】:

【参考方案3】:

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 框架中有很多东西可以完成解析和表示提要的繁琐工作;例如,编写一个包含提要 URL 并下载提要并打印所有项目的标题和作者的 30 行应用程序并不难。 (适用于 RSS 2.0(不是其他的!)或 Atom。)

【讨论】:

参见例如lorgonblog.spaces.live.com/blog/cns!701679AD17B6D310!164.entry 的顶部,用于 10 行 sn-p(F#,但主要是调用框架 API),它将让您在大约 30 秒的编码时间内从 Uri 打印提要。 非常有用的链接,如果有人要解析 rss 这些是链接! 在我的网站jarloo.com/rumormill-5 上获得了完整的 RSS、RDF 和 ATOM 阅读器应用程序和教程,它展示了如何使用 LINQ 编写自己的解析器。【参考方案4】:

我建议你用这个

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

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

【讨论】:

【参考方案5】:

考虑阅读RSS Bandit 的源代码,它是一个 C# Winforms(可能很快 WPF)RSS 阅读器。

您应该通过单步执行应用程序来获得一些好主意。

【讨论】:

【参考方案6】:

正如另一张海报所推荐的,SyndicationFeed 类和 Argotic 是最好的选择。

如果性能是一个问题,SyndicationFeed 类会好得多。我在我的硬件上对它进行了基准测试,它比 Argotic 快了大约 9 倍。

我在 SyndicationFeed 类中遇到的问题是它能够成功解析来自 'net.它经常会因 XmlException 而失败。

就我的使用而言,我坚持使用 Argotic。毕竟,它是开源的,所以我可以随时根据需要进行更改。

【讨论】:

【参考方案7】:

RSS 是一种 XML 方言,因此,如果您了解 XML,就可以解决部分问题。如果您想开始您的项目,请考虑查看已经存在的开源项目:

http://www.codeplex.com/site/search?projectSearchText=RSS%20Reader

CodePlex(上图)是一个很好的起点,因为大多数项目都使用 C#。

【讨论】:

【参考方案8】:

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

【讨论】:

【参考方案9】:

如果您专注于创建 RSS 阅读器而不是 RSS 解析逻辑,您可能希望使用 CodePlex.com 上名为 Argotic 的免费 RSS 库委托创建/阅读 RSS 提要

【讨论】:

【参考方案10】:

如果你在不使用任何库的情况下编写全功能阅读器,也请认为有ATOM 要解析的提要。

【讨论】:

【参考方案11】:

您需要使用 RSS XML 规范:http://cyber.law.harvard.edu/rss/rss.html

【讨论】:

以上是关于如何开始制作 C# RSS 阅读器?的主要内容,如果未能解决你的问题,请参考以下文章

C#版简易RSS阅读器

[ASP.Net]用RssToolKit2.0解析RSS,制作RSS阅读器

使用 C# 在 .net 中阅读 rss 提要的最佳方式 [关闭]

RSS 阅读器未在 WebView 中显示选定的单元格

RSS 阅读器如何知道提要已更新?

如何判断我的RSS阅读器是否由于RSS源错误或其他原因而无法正常工作?