2009年9月28日月曜日

groovyとROMEでATOM/RSSフィードのエントリを取得する

1.ROMEを使用するための作業
以下のいずれかの方法でROMEを使用します。

1.1.マニュアルでjarを使用する場合
http://wiki.java.net/bin/view/Javawsxml/Rome
からrome-1.0.jarをダウンロード、groovyのlibディレクトリへコピー。
http://www.jdom.org/からJDOM1.1.1をダウンロード、
zipを解凍してjdom.jarをgroovyのlibディレクトリへコピー。

1.2.grabを使用する場合
以下のラインをコードの先頭に挿入します。
@Grab(group='rome', module='rome', version='1.0') 



2.以下のコードを実行します。
import com.sun.syndication.feed.synd.*
import com.sun.syndication.io.*

uri = "http://groovyarekore.blogspot.com/feeds/posts/default"
SyndFeed feed = new SyndFeedInput(false).build(
  new InputStreamReader(new URL(uri).openStream(), "UTF-8")
)
println("フィードのタイトル:${feed.title}")
for( entry in feed.entries ){
  println("エントリタイトル:${entry.title}")
  println("エントリの日付:${entry.publishedDate}")
  println("Link:${entry.link}")
}


動作環境
JDK6 Update16, groovy 1.6.3, Rome 1.0, JDOM 1.1.1
JDK6 Update26, groovy 1.8.0, Rome 1.0

実行結果サンプル


フィードのタイトル:groovyあれこれ
エントリタイトル:ScriptomとExcelでセルを削除する
エントリの日付:Sun Sep 27 22:02:00 JST 2009
Link:http://groovyarekore.blogspot.com/2009/09/scriptomexcel_27.html
エントリタイトル:groovyとSQL Serverでテーブル一覧を表示する
エントリの日付:Sat Sep 26 23:52:00 JST 2009
Link:http://groovyarekore.blogspot.com/2009/09/groovysql-server_26.html

省略

0 件のコメント:

コメントを投稿