2010-09-02 32 views
8

Sto provando a scrivere un lettore RSS di base per un progetto di classe. Il nostro libro mostra un esempio camminando sull'albero DOM. È un approccio decente per un lettore RSS? Dovrei semplicemente ignorare alcuni tag che non mi interessano e che non devono essere utilizzati dal lettore RSS? Grazie.Scrittura di un lettore RSS in Java

risposta

3

È uno dei due approcci più comuni, quindi sì. E sì, ignorare i tag che non interessano è un buon modo per gestirli. Se non ne hai bisogno, non è necessario prenderne nota. Se si conoscono in anticipo esattamente quali tag sono necessari, probabilmente non è necessario percorrere l'intero albero DOM.

Si potrebbe anche utilizzare un parser SAX che probabilmente sarebbe più veloce e meno dispendioso della memoria, anche se probabilmente non è necessario in questo caso, a seconda del numero di risultati che si desidera avere nel feed.

+0

Preferire l'uso di SAX, poiché il feed RSS è destinato alla sola lettura: non è necessario distribuire il DOM completo ma solo ottenere l'elenco di elementi interessanti. Inoltre, SAX è leggero. – Benj

2

lavorazione Atom con JAXB

Si potrebbe anche mappare il tuo XML per oggetti utilizzando JAXB. Potresti quindi utilizzare questi oggetti nel tuo lettore RSS.

L'implementazione di riferimento JAXB è incluso in Java SE 6, ci sono anche altre implementazioni, come moxy (io sono in vantaggio tecnologico):

Hai solo bisogno di mappare le parti che ti interessano.

lavorazione Atom con SDO

Si potrebbe anche usare Service Data Objects (SDO) per fare questo:

3

Beh, la bellezza dei feed RSS è vengono sempre in una struttura standard, anche se alcuni feed contengono campi non standard, come il feed RSS di Google Picasa. L'approccio più diretto, a mio avviso, è quello di utilizzare uno strumento che ti consenta di rimuovere unmarshall dal feed RSS XML nel tuo bean RSS. In questo modo, non è necessario scrivere troppo codice, e puoi scegliere quali campi vuoi e ignorare i campi che non vuoi.

Nel mio caso, utilizzo Castor per eseguire il processo di rimozione della memoria in cui leggo il feed RSS di Google Picasa e raccolgo solo i campi che desidero. Spero che questo ti aiuti.

1

Ho analizzato e prodotto RSS con la libreria JDOM. È in giro da molto tempo e viene aggiornato frequentemente, ma la mia esperienza è che non ha bisogno di aggiornamenti. Potresti volerlo esaminare ma dal momento che è piuttosto potente, potresti scoprire che offre troppe funzionalità. http://jdom.org/

6

Per l'ispirazione è possibile guardare a ROME, uno strumento open source per la gestione di feed Atom RSS &.

+0

Perfetto, questo è stato molto utile! RSS attivo e funzionante all'interno di Java in circa 5 minuti :) Necessario per scaricare jdom (dipendenza) così come Roma – Syntax