RSS・Atomフィードのためのライブラリ"ROME"
RSSリーダを作るには、
- フィードデータ(XML)をダウンロード
- フィードを解析(パース)
- 更新日時のチェック
などの処理を書けばできそう。でも、RSSとAtomはバージョンが何種類もあるので、それらの仕様を全て調べるのはちょっと大変。
そこで、"ROME"を使います。"ROME"はRSS・Atomのフィードを操作するためのライブラリで、フィードのパージングだけでなく、フィード生成と発行をサポートします。
以下はサンプルプログラム。
適当なROMEのバイナリ(rome-*.jar)と、XMLパーザのJDOMライブラリ(jdom*.jar)が必要です。この2つをクラスパスに設定して、以下のプログラムを実行します。argsに適当なフィードURLを指定してください。フィード内のエントリのタイトルと更新日時を表示します。後は更新日時をチェックすればRSSリーダ的なことができそうです。
public static void main(String[] args) { SyndFeedInput input = new SyndFeedInput(); for (String urlString : args) { try { URL url = new URL(urlString); Reader reader = new XmlReader(url.openStream()); try { SyndFeed feed = input.build(reader); @SuppressWarnings("unchecked") List<SyndEntry> entries = feed.getEntries(); for (SyndEntry entry : entries) { System.out.printf("%s\t%s%n", entry.getTitle(), entry.getUpdatedDate()); } } finally { reader.close(); } } catch (Exception ex) { ex.printStackTrace(); } } }
SyndEntryの詳細はrome: SyndEntry (ROME, RSS and atOM utilitiEs for Java 1.0 API)をご覧下さい。