Kurzanleitung zu RSS mit Rom

Kurzanleitung zu RSS mit Rom

1. Überblick

RSS (Rich Site Summary oder Really Simple Syndication) ist ein Webfeed-Standard, der Lesern einen aggregierten Inhalt von verschiedenen Standorten aus zur Verfügung stellt. 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 bietet 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 Rome API zu unserem Projekt hinzufügen:


    rome
    rome
    1.0

Wir können die neueste Version aufMaven Central finden.

3. Erstellen eines neuen RSS-Feeds

Erstellen wir zunächst einen neuen RSS-Feed mit der Rome APIusing the default implementation SyndFeedImpl of the SyndFeed interface. Diese Benutzeroberfläche kann alle RSS-Flavors verarbeiten, sodass wir uns immer sicher fühlen können, wenn wir sie verwenden:

SyndFeed feed = new SyndFeedImpl();
feed.setFeedType("rss_1.0");
feed.setTitle("Test title");
feed.setLink("http://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 gives the opportunity of adding many more fields, einschließlich Autoren, Mitwirkende, Urheberrechte, Module, Veröffentlichungsdaten, Bilder, Fremdaufschläge und Sprachen.

4. Eintrag hinzufügen

Nachdem wir den RSS-Feed erstellt haben, können wir ihm jetzt einen Eintrag hinzufügen. Im folgenden Beispiel erstellen wiruse the default implementation SyndEntryImpl of the SyndEntry interface, um einen neuen Eintrag zu erstellen:

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

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

5. Beschreibung hinzufügen

Da unser Eintrag bisher ziemlich leer ist, fügen wir eine Beschreibung hinzu. Wir können dies mitusing the default implementation SyndContentImpl of the SyndContent interface tun:

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

entry.setDescription(description);

Mit der MethodesetType haben wir festgelegt, 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 die Suche nach Einträgen zu vereinfachen, an denen wir interessiert sind. Mal sehen, wie wir dem Eintragusing the default implementation SyndCategoryImpl of the SyndCategory interface: 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. Feed veröffentlichen

Wir haben bereits einen RSS-Feed mit einem Eintrag. Jetzt wollen wir es veröffentlichen. Für den Zweck dieses Artikels bedeutet "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 nur eine Verbindung zu einem vorhandenen herstellen.

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

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

9. Fazit

In diesem Artikel wurde 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 Artikelover on GitHub lesen.