Panduan Pantas RSS dengan Rom

1. Gambaran keseluruhan

RSS (Ringkasan Laman Kaya atau Syndication Sungguh Sederhana) adalah standard suapan web yang menyediakan pembaca dengan kandungan gabungan dari pelbagai lokasi. Pengguna dapat melihat apa yang diterbitkan baru-baru ini di blog kegemarannya, laman berita, dan lain-lain - semuanya dalam satu tempat.

Aplikasi juga dapat menggunakan RSS untuk membaca, memanipulasi, atau menerbitkan maklumat melalui RSS feed.

Artikel ini memberikan gambaran umum tentang bagaimana memproses RSS feed di Java dengan Rome API.

2. Pergantungan Maven

Kita perlu menambahkan kebergantungan untuk Rome API ke projek kita:

 rome rome 1.0 

Kita boleh mendapatkan versi terbaru di Maven Central.

3. Membuat Suapan RSS Baru

Pertama, mari kita membuat suapan RSS baru dengan API Rome yang menggunakan pelaksanaan lalai SyndFeedImpl daripada SyndFeed antara muka . Antaramuka ini dapat menangani semua citarasa RSS, jadi kami selalu merasa selamat menggunakannya:

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

Dalam coretan ini, kami telah membuat suapan RSS dengan medan RSS standard seperti tajuk, pautan, dan keterangan. SyndFeed memberi peluang untuk menambahkan lebih banyak bidang , termasuk pengarang, penyumbang, hak cipta, modul, tarikh terbitan, gambar, tanda asing, dan bahasa.

4. Menambah Entri

Semasa kami membuat suapan RSS, sekarang kami dapat menambahkan entri ke dalamnya. Dalam contoh di bawah, kami menggunakan pelaksanaan lalai SyndEntryImpl daripada SyndEntry antara muka untuk membuat entri baru:

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

5. Menambah Penerangan

Oleh kerana entri kami cukup kosong setakat ini, mari tambahkan keterangan untuknya. Kita boleh melakukan ini dengan menggunakan pelaksanaan lalai SyndContentImpl daripada SyndContent muka :

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

Dengan kaedah setType , kami telah menetapkan bahawa kandungan keterangan kami akan berupa teks atau HTML.

6. Menambah Kategori

RSS Entri sering diklasifikasikan kepada kategori untuk memudahkan tugas mencari entri yang kita berminat dalam Mari kita lihat bagaimana kita boleh menambah kategori untuk penyertaan. Menggunakan pelaksanaan lalai SyndCategoryImpl daripada SyndCategory muka:

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

7. Menerbitkan Suapan

Kami sudah mempunyai suapan RSS dengan entri. Sekarang kami mahu menerbitkannya. Untuk tujuan artikel ini, dengan menerbitkan, kami bermaksud menulis suapan ke aliran:

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

8. Membaca Suapan Luaran

Kita sudah tahu bagaimana membuat suapan baru, tetapi kadang-kadang kita hanya perlu berhubung dengan yang ada.

Mari lihat cara membaca / memuat suapan, memandangkan URL-nya:

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

9. Kesimpulannya

Dalam artikel ini, kami telah menunjukkan cara membuat feed RSS dengan beberapa entri, cara menerbitkan feed, dan cara membaca feed luaran.

Seperti biasa, anda boleh melihat contoh yang diberikan dalam artikel ini di GitHub.