6

Java Rome lib で RSS フィードを作成しました。プロジェクトは終わりに近づいています。しかし、いくつかの RSS クライアントで奇妙な動作を見つけました。

RSS クライアントの問題だと思いますが、確認したいと思います。

Rome はリストに項目を保持するため、最新の項目がリストの最後にあります。RSS クライアント (Firefox および RSS Bandit) でフィードを開いたところ、順序が逆になっていることがわかりました (技術的には時系列ですが、使用した順序とは逆になっています)。

RSS クライアントのバグだと思いました (普段は Google リーダーを使用しています) が、インターネットでいくつかのフィードをチェックしたところ、それらが正しく表示されるのは、項目の順序が逆になっている (一番上が古い) ためであることがわかりました。

しかし、XML パーサーはアイテムの順序に依存すべきではありません。RSS クライアントがアイテムの並べ替えに日付ではなくアイテム順を使用するのはなぜですか?

そして、最も重要なことは、アイテム リストの順序を変更する必要があるかどうかです。

編集: 簡単な解決策を見つけました:

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

しかし、「正しい」クライアントの動作については疑問が残ります。

4

2 に答える 2

8

RSS の根底にある問題の 1 つは、フィールドの使用法が明確に定義された単一の標準が実際には存在しないことです。クライアントとサーバーが実際に何をしているように見えるかについて、仕様が理論的に何をするように指示しているのかではなく、もっと心配します...

于 2009-12-02T09:19:21.390 に答える
0

質問があります。それはクライアントの問題ではありませんか。また、各アイテムの日付を適切に公開していますか? 理想的には、クライアントは発行日を使用してソートする必要があり、各アイテムには、クライアントが適切に識別できるように GUID が必要です。

于 2009-12-02T09:23:25.280 に答える