Guida rapida agli RSS con Roma

1. Panoramica

RSS (Rich Site Summary o Really Simple Syndication) è uno standard di feed web che fornisce ai lettori un contenuto aggregato da varie posizioni. L'utente può vedere cosa è stato pubblicato di recente sui suoi blog, siti di notizie, ecc. Preferiti, tutto in un unico posto.

Le applicazioni possono anche utilizzare RSS per leggere, manipolare o pubblicare informazioni tramite feed RSS.

Questo articolo fornisce una panoramica su come elaborare i feed RSS in Java con l'API di Roma.

2. Dipendenze di Maven

Dobbiamo aggiungere la dipendenza per l'API di Roma al nostro progetto:

 rome rome 1.0 

Possiamo trovare l'ultima versione su Maven Central.

3. Creazione di un nuovo feed RSS

In primo luogo, creiamo un nuovo feed RSS con l'API di Roma utilizzando il default realizzazione SyndFeedImpl del SyndFeed dell'interfaccia . Questa interfaccia è in grado di gestire tutti i gusti RSS, quindi possiamo sempre sentirci sicuri di usarla:

SyndFeed feed = new SyndFeedImpl(); feed.setFeedType("rss_1.0"); feed.setTitle("Test title"); feed.setLink("//www.somelink.com"); feed.setDescription("Basic description");

In questo frammento, abbiamo creato un feed RSS con campi RSS standard come titolo, collegamento e descrizione. SyndFeed offre l'opportunità di aggiungere molti più campi , inclusi autori, contributori, copyright, moduli, date di pubblicazione, immagini, markup stranieri e lingue.

4. Aggiunta di una voce

Dato che abbiamo creato il feed RSS, ora possiamo aggiungervi una voce. Nell'esempio riportato di seguito, si usa l'implementazione predefinita SyndEntryImpl del SyndEntry di interfaccia per creare una nuova voce:

SyndEntry entry = new SyndEntryImpl(); entry.setTitle("Entry title"); entry.setLink("//www.somelink.com/entry1"); feed.setEntries(Arrays.asList(entry));

5. Aggiunta di una descrizione

Poiché la nostra voce è abbastanza vuota fino ad ora, aggiungiamo una descrizione. Possiamo farlo utilizzando l'implementazione predefinita SyndContentImpl del SyndContent dell'interfaccia :

SyndContent description = new SyndContentImpl(); description.setType("text/html"); description.setValue("First entry"); entry.setDescription(description);

Con il metodo setType , abbiamo specificato che il contenuto della nostra descrizione sarà un testo o HTML.

6. Aggiunta di una categoria

RSS voci sono spesso classificati in categorie per semplificare il compito di trovare le voci che siamo interessati a vediamo come possiamo aggiungere una categoria alla voce. Utilizza l'implementazione predefinita SyndCategoryImpl del SyndCategory dell'interfaccia:

List categories = new ArrayList(); SyndCategory category = new SyndCategoryImpl(); category.setName("Sophisticated category"); categories.add(category); entry.setCategories(categories);

7. Pubblicazione del feed

Abbiamo già un feed RSS con una voce. Ora vogliamo pubblicarlo. Ai fini di questo articolo, per pubblicazione si intende scrivere il feed in uno stream:

Writer writer = new FileWriter("xyz.txt"); SyndFeedOutput syndFeedOutput = new SyndFeedOutput(); syndFeedOutput.output(feed, writer); writer.close();

8. Lettura di un feed esterno

Sappiamo già come creare un nuovo feed, ma a volte dobbiamo solo collegarci a uno esistente.

Vediamo come leggere / caricare un feed, dato il suo URL:

URL feedSource = new URL("//rssblog.whatisrss.com/feed/"); SyndFeedInput input = new SyndFeedInput(); SyndFeed feed = input.build(new XmlReader(feedSource));

9. Conclusione

In questo articolo abbiamo mostrato come creare un feed RSS con alcune voci, come pubblicare il feed e come leggere i feed esterni.

Come sempre, puoi controllare gli esempi forniti in questo articolo su GitHub.