Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java RSS项目顺序,有关系吗?_Java_Xml_Language Agnostic_Rss_Rome - Fatal编程技术网

Java RSS项目顺序,有关系吗?

Java RSS项目顺序,有关系吗?,java,xml,language-agnostic,rss,rome,Java,Xml,Language Agnostic,Rss,Rome,我用JavaRome库创建了一个RSS提要。该项目即将结束。但我在一些RSS客户端中发现了奇怪的行为 我认为这更像是RSS客户端的问题,但我想确定一下 罗马在一个列表中保存项目,因此最新的项目位于列表的末尾。我在我的RSS客户端(Firefox和RSS Bandit)中打开了我的提要,发现它们的顺序是相反的(技术上是按时间顺序的,但与我使用的顺序相反) 我认为这是一个RSS客户端错误(我通常使用Google Reader),但我检查了互联网上的一些提要,发现它们正确显示的原因是它们有反向排序的项

我用JavaRome库创建了一个RSS提要。该项目即将结束。但我在一些RSS客户端中发现了奇怪的行为

我认为这更像是RSS客户端的问题,但我想确定一下

罗马在一个列表中保存项目,因此最新的项目位于列表的末尾。我在我的RSS客户端(Firefox和RSS Bandit)中打开了我的提要,发现它们的顺序是相反的(技术上是按时间顺序的,但与我使用的顺序相反)

我认为这是一个RSS客户端错误(我通常使用Google Reader),但我检查了互联网上的一些提要,发现它们正确显示的原因是它们有反向排序的项目(最早的在顶部)

但是XML解析器不应该依赖项顺序。为什么RSS客户端使用项目顺序而不是日期对项目进行排序

最重要的是,我是否应该重新排列我的项目列表

编辑: 我找到了一个简单的解决方案:

     entries.add(0,entry); // :-)

但是关于“正确的”客户端行为的问题仍然存在。

RSS的一个根本问题是,实际上没有一个标准的字段使用是明确定义的。我更担心的是客户机和服务器实际上似乎在做什么,而不是你认为规范理论上告诉他们做什么…

我有一个问题:这不是客户机的问题,你是否正确地发布了每个项目的日期。理想情况下,客户端应该使用发布日期进行排序,并且每个项目都应该有一个GUID,以便客户端正确识别它。

常规XML解析器应该明确地依赖于节点顺序。例如,请参见DOM的
firstChild
。右侧。谈到XML解析器,我错了。所以毫无疑问。只有评论说罗马在这方面的设计很差。他们在教程中也有相同的错误。我在互联网上检查了几个提要,所有提要都是反向排序的。我认为客户忽略了日期。这是我的节点:Utworzono nowągrupę2009-12-02T09:29:59Z 2009-12-02T09:29:59Z Obserwujęteraz grupę:a 2009-12-02T09:29:59Z我认为日期的格式是正确的(我认为罗马图书馆是正确的)。反向排序解决了问题。我不同意,stackoverflow不是反向排序,许多站点也不是:对我来说,反向排序看起来像是一种解决方法,而不是解决方案。我再次检查了它。我认为这真的没有什么区别。通知填充在这两种情况下都是可行的(我认为这是用简单的diff完成的)。唯一的区别是Firefox提要预览中的顺序(但没有人使用它)。