【Java】RSSフィードの取得(ライブラリROME使用)

Pocket

ROMEというライブラリを利用し、JavaでRSSフィードの取得を行う方法。
ROMEはもともとjava.netコミュニティのプロジェクトだったらしいのだけど、今はどうなっているんでしょう。

java.netのROMEプロジェクトの残骸ページには以下の様にあります。

Please go to our new project home at http://rometools.org.

The Java.net site for ROME is being maintained for legacy purposes and mailing lists only.


で、このリンク先のURL(http://rometools.org)もどうやらもう使われていない様子・・・Adsense広告しかありませんでした。
現在、プロジェクトはJIRAというプロジェクト管理システム上で運営されているみたいです。

そのJIRA上にあるROMEのプロジェクトはこちら
有力なバックボーンが付いているでもなく、本当の意味での有志で運営しているのでしょうか。
んー。自分は趣味の領域なので使いますが、お仕事で使うには躊躇してしまうような感じですね。

スポンサードリンク


そんなところで本題に入りますが、とっても簡単に目的が達成できました。

環境

開発環境
Eclipse Java 7
使用ライブラリ
  • rome-1.0.jar
  • jdom-1.1.3.jar
  • xerces.jar


手順

  1. ROMEをダウンロードします。プロジェクトページの「ROME x.x library jar」を押下(x.xはバージョン)
  2. ROMEはJDOMというXML APIに依存しているので公式ページからJDOMをダウンロードします。バージョンが2系と1系がありますが、ROMEが2系に対応していないので1系を選びます。
  3. 1でダウンロードした「rome-x.x.jar」、2でダウンロードした「jdom-1.x.x.jar」(jdom/buildディレクトリ内)および「xerces.jar」(jdom/libディレクトリ内)をクラスパスに追加します。
  4. 以下の様にコードを書きます。
    URL feedUrl = new URL("[フィードのURI]");
    SyndFeed feed = new SyndFeedInput().build(new XmlReader(feedUrl));
    for(Object obj: feed.getEntries()){
    	SyndEntry entry = (SyndEntry)obj;
    
    	// 記事のタイトル
    	System.out.println(entry.getTitle());
    	
    	// 記事の日時(Date型なので必要に応じて要キャスト
    	System.out.println(entry.getPublishedDate());
    	
    	// 記事本文のURI
    	System.out.println(entry.getUri());
    	
    	// 記事の抜粋
    	System.out.println(entry.getDescription());
    }

import分は省略しましたがこれだけの記述で済みました。
JDOMのバージョン2系を使うと「build(new XmlReader(feedUrl)」のところで「The type org.jdom.Document cannot be resolved. It is indirectly referenced from required .class files」というエラーが出てコンパイルできません。


んー。惜しいライブラリですね・・・。
これがjakartaなりapacheなり信用できるプロジェクトに属しているものだったら、お仕事でも活躍できそうなのに・・・。


お役に立てましたか?

ブックマークをどうぞ!

スポンサード リンク

“【Java】RSSフィードの取得(ライブラリROME使用)” への 2 件のフィードバック

コメントを残す