2009-12-02 61 views
4

我用Java Rome lib創建了一個RSS源。該項目即將結束。但是我在一些RSS客戶端發現了奇怪的行爲。RSS項目順序,這有關係嗎?

我認爲這更多的是RSS客戶的問題,但我想確認一下。

羅馬在列表中保存項目,所以最新的項目是在列表的末尾。我在我的RSS客戶端(Firefox和RSS Bandit)中打開了我的訂閱源,我發現它們的順序相反(從技術上講它是按時間順序排列的,但與我使用的順序相反)。

我認爲這是一個RSS客戶端錯誤(我通常使用谷歌閱讀器),但我檢查了互聯網上的一些飼料,看到他們顯示正確的原因是他們有反向訂購的項目(最上面的最老的)。

但是XML解析器不應該依賴項目順序。爲什麼RSS客戶端使用項目順序而不是日期來排序項目?

而且,最重要的是,我應該重新排列我的物品清單嗎?

編輯: 我發現了一個簡單的解決方案:

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

但仍對 「正確的」 客戶端行爲的問題。

+0

一般的XML解析器肯定應該依賴於節點順序。請參閱DOM的'firstChild'。 – 2009-12-02 09:31:58

+0

沒錯。談到XML解析器時我錯了。所以沒有問題。 只有評論羅馬在這方面的設計很差。他們在教程中有相同的錯誤。 – 2009-12-02 09:46:12

回答

7

RSS的一個潛在問題是,實際上沒有一個標準的字段使用情況是明確的。我會擔心更多的客戶端和服務器實際上似乎做,而不是你認爲理論上告訴他們做的一個規格...

0

我有一個問題:不是它的客戶端問題,你是發佈每個項目的正確日期。理想情況下,客戶應該使用Pub Date進行排序,每個項目應該有一個GUID供客戶正確識別。

+0

我檢查了互聯網上的幾個飼料都反向排序。我認爲客戶忽視日期。 這是我的節點: Utworzono諾瓦GRUPE 2009-12-02T09:29:59Z 2009-12-02T09:29:59Z <摘要類型= 「text」>Obserwujęterazgrupę:a 2009-12-02T09:29:59Z 我想日期是在cor矩形格式(我認爲羅馬庫工作正確)。切換項目解決了問題。 – 2009-12-02 09:32:22

+0

我不同意,stackoverflow不是反向排序,也沒有做很多網站:http://stackoverflow.com/zh-cn/feeds/question/1830580 – 2009-12-02 09:45:51

+0

對我來說,反向排序看起來像一個解決方法,而不是解決方案 – 2009-12-02 09:46:49