1

这可能很奇怪,你有没有遇到过你想按时间顺序阅读的博客?那个博客可能很旧,有几百个帖子。当我将此提要添加到我的提要阅读器(例如 googlereader)时,最新提要位于顶部,当我进一步向下滚动时,会出现较旧的帖子。如果您想从头开始阅读,这可能会令人沮丧。有没有这样做的读者?或者,我很想把它作为一个宠物项目来做,(最好在 c# 中),我应该怎么做呢?此外,是否有任何 .NET 库可用于处理 RSS 提要?我以前没有做过任何 RSS 提要编程。

编辑我想知道这是否有任何技术限制。这只是我遇到的一个有趣的问题,我认为可以通过编程方式解决。

4

5 回答 5

2

在 Google 阅读器中,当您阅读提要时,会出现一个“提要设置...”菜单,其中包含以下选项:“按最新排序”、“按最旧排序”。

文件夹在“文件夹设置...”菜单下具有相同的选项

无需编程。

于 2008-09-25T21:53:28.813 回答
2

我想你可能有这个问题。许多 RSS 提要仅保留最新的 10 条左右的帖子,因此无法提供自博客开始以来提要中的旧数据。

于 2008-09-25T21:54:13.007 回答
2

如果您决定推出自己的 C# 应用程序来执行此操作,那么在当前版本的 .NET Framework 中非常简单。

查找System.ServiceModel.Syndication命名空间。它有与 RSS 和 Atom 提要相关的类。我最近编写了一些代码,使用这些类从数据库生成提要,并将地理编码添加到提要项中。我有同样的问题,我需要颠倒提要中项目的顺序,因为我的数据库查询以相反的顺序返回它们,我希望我的用户看到。

我所做的只是在我自己的数据结构中保存提要的SyndicationItem对象列表,List<SyndicationItem>直到我想将提要写入磁盘之前。然后我会做这样的事情:

private SyndicationFeed m_feed;
private List<SyndicationItem> m_items;

...snip...

m_items.Reverse();
m_feed.Items = m_items;
于 2008-10-02T03:35:30.240 回答
1

在 Google 阅读器中,您可以让它显示文件夹(提要)中的项目,从最新到最旧,或从最旧到最新。为此,请选择提要,选择“提要设置”下拉菜单,然后选择“按最旧排序”。我不确定谷歌阅读器有多远,但可能从它第一次开始监控提要开始。

于 2008-09-25T21:57:38.880 回答
0

这对于任何语言都应该相当容易......您需要做的就是将提要 xml 读入 DOM 结构(包括 C# 在内的几乎所有语言都有一个 DomDocument 类)

然后,您应该能够以相反的顺序简单地循环遍历项目节点......

见: http: //msdn.microsoft.com/en-us/library/ms756177 (VS.85).aspx

正如其他人所说,根据 rss 提要,您可能只能获得有限数量的项目。

于 2008-09-25T21:55:02.990 回答