「Java」RSSライブラリ Informa で RSS フィードを生成する
前回のエントリーで RSS フィードをパースしてみたので、今回は RSS フィードの生成をやってみました。その時のメモ。
・「Java」RSSライブラリ Informa で RSS フィードをパースしてみた - プログラム日記
http://a4dosanddos.hatenablog.com/entry/2014/02/11/232803
ドキュメント的には以下になりますね。
・Informa: RSS Library for Java - Quickstart
http://informa.sourceforge.net/quickstart.html
ドキュメントの「Build your own channel object model」「Serialize channel as RSS」あたりを参考に簡単に書いてみました。
■ RSSFeedCreate.java
import java.net.URL; import de.nava.informa.core.ChannelBuilderIF; import de.nava.informa.core.ChannelExporterIF; import de.nava.informa.core.ChannelIF; import de.nava.informa.core.ItemIF; import de.nava.informa.exporters.RSS_2_0_Exporter; import de.nava.informa.impl.basic.ChannelBuilder; public class RSSFeedCreate { public static void main(String[] args) throws Exception { String chanName = "RSSFeedTest"; ChannelBuilderIF builder = new ChannelBuilder(); ChannelIF channel = builder.createChannel(chanName); channel.setTitle("Test Title"); channel.setSite(new URL("http://www.example.com/")); channel.setDescription("Test Channel: " + chanName); ItemIF item1 = builder.createItem(channel, "Item 1 for " + chanName, "First in line", new URL("http://www.example.com/article1")); ItemIF item2 = builder.createItem(channel, "Item 2 for " + chanName, "Second in line", new URL("http://www.example.com/article1")); ChannelExporterIF exporter = new RSS_2_0_Exporter("RSSFeedCreate.xml"); exporter.write(channel); } }
■ 実行結果 ( RSSFeedCreate.xml)
<?xml version="1.0" encoding="utf-8"?> <rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" version="2.0"> <channel> <title>Test Title</title> <link>http://www.example.com/</link> <description>Test Channel: RSSFeedTest</description> <item> <title>Item 1 for RSSFeedTest</title> <link>http://www.example.com/article1</link> <description>First in line</description> </item> <item> <title>Item 2 for RSSFeedTest</title> <link>http://www.example.com/article1</link> <description>Second in line</description> </item> </channel> </rss>
とりあえず無事生成できてますかね。
まぁ、RSS の仕様とかは全然知らないので、ここははまた勉強が必要です。
仕様書は以下あたりか・・・
・RSS 2.0 Specification (version 2.0.11)
http://www.rssboard.org/rss-specification
以上です。
[ 環境情報 ]
Windows 7 SP1
Java SE 7 Update 45
informa-0.7.0-alpha2
※ 依存関係のあるライブラリも含んでる「informa-0.7.0-alpha2-with-dependencies.zip」をダウンロードしました。上記サンプルであれば、ひとます「informa.jar」「jdom.jar」「commons-logging.jar」あたりだけで動きます。
・News Aggregation Library for Java - Browse Files at SourceForge.net
http://sourceforge.net/projects/informa/files/