2010-09-02 90 views
8

我正在嘗試爲類項目編寫一個基本的RSS閱讀器。我們的書通過走DOM樹來展示一個例子。這對於RSS閱讀器來說是一個體面的方法嗎?我是否會忽略某些對我不感興趣並且不會被RSS閱讀器使用的標籤?謝謝。在Java中編寫RSS閱讀器

回答

3

這是兩種常見方法之一,所以是的。是的,忽略不感興趣的標籤是處理它的好方法。如果你不需要它,不需要記下它。如果您事先知道您需要的標籤,您可能不需要遍歷整個DOM樹。

您也可以使用SAX解析器,它可能會更快,內存更少,但在這種情況下可能不需要,具體取決於您希望在Feed中有多少結果。

+0

更喜歡使用SAX,因爲RSS feed旨在爲只讀:您不需要部署完整的DOM,只需獲取感興趣的項目列表。而且,SAX是輕量級的。 – Benj 2013-01-23 13:34:08

2

處理Atom供稿與JAXB

您也可以映射你的XML使用JAXB對象。然後你可以在你的RSS閱讀器中使用這些對象。

JAXB參考實現包含在Java SE 6中,也有其他的實現,例如莫西(我是技術主管):

您只需要映射您感興趣的部分。

處理Atom供稿與SDO

您還可以使用服務數據對象(SDO)來做到這一點:

3

好,RSS提要的美麗儘管某些供稿包含非標準字段,例如Google Picasa的RSS供稿,但它們始終採用某種標準結構。在我看來,最直接的方法是使用一種工具,它允許您將RSS XML feed解組到RSS bean中。這樣,你不需要編寫太多的代碼,你可以選擇你想要的字段並忽略你不想要的字段。

就我而言,我使用Castor來執行解組過程,在該過程中,我閱讀Google Picasa RSS提要並僅收集我想要的字段。希望這可以幫助。

1

我已經用JDOM庫解析並生成了RSS。它經過很長時間並且經常更新,但我的經驗是它不需要更新。您可能想要查看它,但由於它非常強大,您可能會發現它提供了太多的功能。 http://jdom.org/

6

爲了獲得靈感,您可以查看ROME,這是一款用於處理RSS的開源工具& Atom提要。

+0

完美,這非常有幫助! RSS在Java中運行約5分鐘:)需要下載jdom(依賴)以及羅馬 – Syntax 2010-10-26 14:34:13