Kurzanleitung zu RSS mit Rom

1. Übersicht

RSS (Rich Site Summary oder Really Simple Syndication) ist ein Web-Feed-Standard, der Lesern einen aggregierten Inhalt von verschiedenen Standorten aus bietet. Der Benutzer kann sehen, was kürzlich in seinen Lieblingsblogs, Nachrichtenseiten usw. veröffentlicht wurde - alles an einem einzigen Ort.

Anwendungen können RSS auch zum Lesen, Bearbeiten oder Veröffentlichen von Informationen über RSS-Feeds verwenden.

Dieser Artikel gibt einen Überblick über die Verarbeitung von RSS-Feeds in Java mit der Rome-API.

2. Maven-Abhängigkeiten

Wir müssen die Abhängigkeit für die Rom-API zu unserem Projekt hinzufügen:

 rome rome 1.0 

Wir können die neueste Version auf Maven Central finden.

3. Erstellen eines neuen RSS-Feeds

Erstellen wir zunächst einen neuen RSS-Feed mit der Rome-API unter Verwendung der Standardimplementierung SyndFeedImpl der SyndFeed- Schnittstelle . Diese Schnittstelle kann alle RSS-Varianten verarbeiten, sodass wir uns immer sicher fühlen können, sie zu verwenden:

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

In diesem Snippet haben wir einen RSS-Feed mit Standard-RSS-Feldern wie Titel, Link und Beschreibung erstellt. SyndFeed bietet die Möglichkeit, viele weitere Felder hinzuzufügen , darunter Autoren, Mitwirkende, Urheberrechte, Module, Veröffentlichungsdaten, Bilder, fremde Markups und Sprachen.

4. Hinzufügen eines Eintrags

Da wir den RSS-Feed erstellt haben, können wir ihm jetzt einen Eintrag hinzufügen. Im folgenden Beispiel verwenden wir die Standardimplementierung SyndEntryImpl der SyndEntry- Schnittstelle , um einen neuen Eintrag zu erstellen:

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

5. Hinzufügen einer Beschreibung

Da unser Eintrag bisher ziemlich leer ist, fügen wir eine Beschreibung hinzu. Wir können dies tun, indem wir die Standardimplementierung SyndContentImpl der SyndContent- Schnittstelle verwenden :

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

Mit der setType- Methode haben wir angegeben, dass der Inhalt unserer Beschreibung ein Text oder HTML ist.

6. Hinzufügen einer Kategorie

RSS-Einträge werden häufig in Kategorien eingeteilt, um das Auffinden der gewünschten Einträge zu vereinfachen. Sehen wir uns an, wie wir dem Eintrag mithilfe der Standardimplementierung SyndCategoryImpl der SyndCategory- Oberfläche eine Kategorie hinzufügen können:

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

7. Veröffentlichen Sie den Feed

Wir haben bereits einen RSS-Feed mit einem Eintrag. Jetzt wollen wir es veröffentlichen. Für den Zweck dieses Artikels meinen wir mit Veröffentlichen das Schreiben des Feeds in einen Stream:

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

8. Lesen eines externen Feeds

Wir wissen bereits, wie man einen neuen Feed erstellt, aber manchmal müssen wir uns nur mit einem vorhandenen verbinden.

Mal sehen, wie man einen Feed anhand seiner URL liest / lädt:

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

9. Fazit

In diesem Artikel haben wir gezeigt, wie Sie einen RSS-Feed mit einigen Einträgen erstellen, den Feed veröffentlichen und externe Feeds lesen.

Wie immer können Sie die Beispiele in diesem Artikel auf GitHub nachlesen.