我用Java Rome库创建了一个RSS feed。项目接近尾声。但是我发现一些RSS客户端表现出奇怪的行为。
我认为这更多是由于RSS客户端的问题,但我想确认一下。
Rome将条目保存在List中,因此最新的条目在列表的末尾。 我在我的RSS客户端(Firefox和RSS Bandit)中打开我的feed,并发现它们是倒序的(从技术上讲,这是按时间顺序,但与我使用的顺序相反)。
我认为这是一个RSS客户端的错误(我通常使用Google Reader),但我检查了一些网上的feeds,看到它们正确显示的原因是它们有反向排序的项目(最老的在顶部)。
但XML解析器不应依赖于项目顺序。为什么RSS客户端使用项目顺序而不是日期来对项目进行排序?
最重要的是,我应该重新排序我的项目列表吗?
编辑:我找到了一个简单的解决方案:
但是关于“正确”的客户端行为的问题仍然存在。
Rome将条目保存在List中,因此最新的条目在列表的末尾。 我在我的RSS客户端(Firefox和RSS Bandit)中打开我的feed,并发现它们是倒序的(从技术上讲,这是按时间顺序,但与我使用的顺序相反)。
我认为这是一个RSS客户端的错误(我通常使用Google Reader),但我检查了一些网上的feeds,看到它们正确显示的原因是它们有反向排序的项目(最老的在顶部)。
但XML解析器不应依赖于项目顺序。为什么RSS客户端使用项目顺序而不是日期来对项目进行排序?
最重要的是,我应该重新排序我的项目列表吗?
编辑:我找到了一个简单的解决方案:
entries.add(0,entry); // :-)
但是关于“正确”的客户端行为的问题仍然存在。
firstChild
。 - Johannes Hoff