Guide rapide de RSS avec Rome

Guide rapide sur le RSS avec Rome

1. Vue d'ensemble

RSS (Rich Site Summary ou Really Simple Syndication) est une norme de flux Web qui fournit aux lecteurs un contenu agrégé à partir de divers emplacements. L'utilisateur peut voir ce qui a été publié récemment sur ses blogs préférés, ses sites d'actualités, etc., le tout en un seul endroit.

Les applications peuvent également utiliser RSS pour lire, manipuler ou publier des informations via des flux RSS.

Cet article explique comment traiter les flux RSS en Java avec l'API de Rome.

2. Dépendances Maven

Nous devons ajouter la dépendance pour l'API Rome à notre projet:


    rome
    rome
    1.0

Nous pouvons trouver la dernière version surMaven Central.

3. Créer un nouveau flux RSS

Commençons par créer un nouveau flux RSS avec l'API Romeusing the default implementation SyndFeedImpl of the SyndFeed interface. Cette interface est capable de gérer tous les types de flux RSS. Nous pouvons donc toujours l'utiliser en toute sécurité:

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

Dans cet extrait, nous avons créé un flux RSS avec des champs RSS standards tels qu'un titre, un lien et une description. SyndFeed gives the opportunity of adding many more fields, y compris les auteurs, les contributeurs, les droits d'auteur, les modules, les dates de publication, les images, les balises étrangères et les langues.

4. Ajouter une entrée

Comme nous avons créé le flux RSS, nous pouvons maintenant y ajouter une entrée. Dans l'exemple ci-dessous, noususe the default implementation SyndEntryImpl of the SyndEntry interface pour créer une nouvelle entrée:

SyndEntry entry = new SyndEntryImpl();
entry.setTitle("Entry title");
entry.setLink("http://www.somelink.com/entry1");

feed.setEntries(Arrays.asList(entry));

5. Ajouter une description

Comme notre entrée est assez vide pour l'instant, ajoutons une description. Nous pouvons le faire parusing the default implementation SyndContentImpl of the SyndContent interface:

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

entry.setDescription(description);

Avec la méthodesetType, nous avons précisé que le contenu de notre description sera un texte ou HTML.

6. Ajouter une catégorie

Les entrées RSS sont souvent classées en catégories pour simplifier la tâche de recherche des entrées qui nous intéressent. Voyons comment ajouter une catégorie à l’entréeusing the default implementation SyndCategoryImpl of the SyndCategory interface:

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

entry.setCategories(categories);

7. Publication du flux

Nous avons déjà un flux RSS avec une entrée. Maintenant, nous voulons le publier. Dans le cadre de cet article, par publication, nous entendons écrire le flux dans un flux:

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

8. Lire un flux externe

Nous savons déjà comment créer un nouveau flux, mais nous devons parfois nous connecter à un flux existant.

Voyons comment lire / charger un flux, compte tenu de son URL:

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

9. Conclusion

Dans cet article, nous avons montré comment créer un flux RSS avec certaines entrées, comment publier le flux et comment lire des flux externes.

Comme toujours, vous pouvez consulter les exemples fournis dans cet articleover on GitHub.