我用Java Rome lib创建了一个RSS feed。该项目即将结束。但我在一些RSS客户端发现了奇怪的行为。
我认为这更像是RSS客户端的问题,但我想确定一下。
罗马在列表中保留项目,因此最新项目位于列表的末尾。我在我的RSS客户端(Firefox和RSS Bandit)中打开了我的Feed,我发现它们的顺序是相反的(技术上它是按时间顺序排列的,但与我使用的顺序相比有所逆转。)
我认为这是一个RSS客户端错误(我通常使用谷歌阅读器),但我检查了互联网上的一些提要,并看到他们正确显示的原因是他们有反向订购的项目(最老的在顶部)。
但XML解析器不应该依赖于项目顺序。为什么RSS客户端使用商品订单而不是日期来排序商品?
最重要的是,我应该重新订购商品清单吗?
修改 我找到了一个简单的解决方案:
entries.add(0,entry); // :-)
但关于“正确”的客户行为的问题仍然存在。
答案 0 :(得分:8)
RSS的一个潜在问题是,确实没有单一的标准,其字段用法是明确定义的。我会更担心客户端和服务器实际上在做什么,而不是你认为规范理论上告诉他们做什么......
答案 1 :(得分:0)
我有一个问题:它不是客户问题,而且您是否正确发布每个项目的日期。理想情况下,客户端应使用发布日期进行排序,并且每个项目都应具有GUID,以便客户端正确识别它。