Короткий посібник з RSS з Римом

1. Огляд

RSS (Rich Site Summary or Really Simple Syndication) - це стандарт веб-стрічки, який надає читачам сукупний вміст з різних місць. Користувач може бачити те, що нещодавно публікувалось у його улюблених щоденниках, на сайтах новин тощо - все в одному місці.

Додатки також можуть використовувати RSS для читання, обробки або публікації інформації через RSS-канали.

У цій статті подано огляд того, як обробляти RSS-канали в Java за допомогою API Rome.

2. Залежності Мейвена

Нам потрібно додати залежність для API Риму до нашого проекту:

 rome rome 1.0 

Ми можемо знайти останню версію на Maven Central.

3. Створення нової стрічки RSS

По- перше, давайте створимо новий RSS - канал з API Римі , використовуючи реалізацію за замовчуванням SyndFeedImpl з SyndFeed інтерфейсу . Цей інтерфейс здатний обробляти всі RSS-варіанти, тому ми завжди можемо почуватись безпечно використовувати його:

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

У цьому фрагменті ми створили RSS-канал із стандартними полями RSS, такими як заголовок, посилання та опис. SyndFeed дає можливість додавати багато інших полів , включаючи авторів, авторів, авторські права, модулі, дати публікації, зображення, іноземні розмітки та мови.

4. Додавання запису

Оскільки ми створили RSS-канал, тепер ми можемо додати до нього запис. У наведеному нижче прикладі ми використовуємо в реалізації по замовчуванням SyndEntryImpl в SyndEntry інтерфейс для створення нового запису:

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

5. Додавання Опису

Оскільки наш запис поки що досить порожній, давайте додамо його опис. Ми можемо зробити це, використовуючи реалізацію по замовчуванням SyndContentImpl з SyndContent інтерфейсу :

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

За допомогою методу setType ми вказали, що змістом нашого опису буде текст або HTML.

6. Додавання категорії

RSS записів часто класифікуються за категоріями , щоб спростити завдання пошуку записів , які ми зацікавлені в тому, Давайте подивимося , як ми можемо додати категорію до запису. Використовуючи реалізацію за замовчуванням SyndCategoryImpl з SyndCategory інтерфейсу:

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

7. Публікація стрічки

У нас уже є RSS-канал із записом. Тепер ми хочемо його опублікувати. У цій статті під публікацією ми маємо на увазі запис стрічки в потік:

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

8. Читання зовнішньої стрічки

Ми вже знаємо, як створити новий канал, але іноді нам просто потрібно підключитися до існуючого.

Давайте подивимося, як читати / завантажувати стрічку, враховуючи її URL:

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

9. Висновок

У цій статті ми показали, як створити RSS-канал з деякими записами, як опублікувати канал і як читати зовнішні канали.

Як завжди, ви можете ознайомитися з прикладами, наведеними в цій статті, на GitHub.