这可能很奇怪,你有没有想过按照时间顺序阅读的博客?这个博客可能很旧,有几百个帖子。当我将此Feed添加到我的Feed阅读器时,比如googlereader,最新的Feed会出现在最顶层,当我向下滚动时,会显示较旧的帖子。如果你想从头开始阅读它,这可能会令人沮丧。有没有读者这样做?或者,我很乐意将其作为一个宠物项目,(最好是在c#中),我该怎么做呢?还有,我可以使用任何.NET库来处理RSS提要吗?我以前没有做任何RSS feed编程。
编辑我想知道这是否有任何技术限制。这是我遇到的一个有趣的问题,我认为可以通过编程方式解决。
答案 0 :(得分:2)
在Google阅读器中,当您阅读Feed时,会出现“Feed settings ...”菜单,其中包含以下选项:“按最新排序”,“按最旧排序”。
文件夹在“文件夹设置...”菜单下具有相同的选项
无需编程。
答案 1 :(得分:2)
我想你可能会遇到这个问题。许多RSS提要仅保留最新的10个帖子,因此自博客开始以来无法从提要中提供旧数据。
答案 2 :(得分:2)
如果您决定使用自己的C#应用程序来执行此操作,那么在当前版本的.NET Framework中它非常简单。
查找System.ServiceModel.Syndication命名空间。它有与RSS和Atom提要相关的类。我最近写了一些代码,它使用这些类从数据库生成一个feed,并将geocode添加到feed项。我遇到了同样的问题,我需要反转Feed中项目的顺序,因为我的数据库查询以我希望用户看到的相反顺序返回它们。
我所做的只是在我自己的List<SyndicationItem>
数据结构中保留Feed的SyndicationItem对象列表,直到我想要将Feed写入磁盘。然后我会做这样的事情:
private SyndicationFeed m_feed;
private List<SyndicationItem> m_items;
...snip...
m_items.Reverse();
m_feed.Items = m_items;
答案 3 :(得分:1)
在Google阅读器中,您可以让它显示从最新到最旧,或从最旧到最新的文件夹(Feed)中的项目。要执行此操作,请选择Feed,选择“Feed设置”下拉列表,然后选择“按最旧排序”。我不确定谷歌阅读器有多远,但可能自从它第一次开始监控饲料以来一路走来。
答案 4 :(得分:0)
使用任何语言都应该相当容易......你需要做的就是将feed xml读入DOM结构(几乎所有语言包括C#都有一个DomDocument类)
然后,您应该能够以相反的顺序循环遍历项目节点...
请参阅:http://msdn.microsoft.com/en-us/library/ms756177(VS.85).aspx
正如其他人所说,根据RSS提要,您可能只获得有限数量的项目。