昨天用 RSS4j 替相簿產生了 RSS Feed 後
,再仔細研究下去才發現 RSS4j 目前只支援 RSS 0.90/0.91/1.0,
並不支援最新的 RSS 2.0 與 Google 的ATOM 0.3/1.0,於是又找了另一個 RSS java library :
ROME。
ROME 目前支援的 RSS 版本相當齊全,列舉如下:
RSS 0.90, RSS 0.91 Netscape, RSS 0.91 Userland, RSS 0.92, RSS 0.93, RSS 0.94, RSS 1.0, RSS 2.0, Atom 0.3, and Atom 1.0
所以用 ROME 來製作各種格式的 RSS Feed 當然不是問題,甚至可以用來做各種格式間的轉換,功能相當強大。
於是我就利用 ROME 的 API ,稍微包裝一下後,弄了一個簡單使用 ROME 的類別 broso.rss.ROMERSSGenerator
包裝起來以後,用法比昨天的 RSS4j 就更簡單了
把昨天的範例程式用 ROMERSSGenerator 修改一下..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 `
|
String photo_root = this.getServletContext().getRealPath("/");
String rss1_file = photo_root + File.separator + "rss1.xml";
String rss2_file = photo_root + File.separator + "rss2.xml";
String atom03_file = photo_root + File.separator + "atom03.xml";
String atom10_file = photo_root + File.separator + "atom10.xml";
// 產生 RSS XML Document
SimpleDateFormat dateParser = new SimpleDateFormat("yyyy/MM/dd");
ROMERSSGenerator rssGenerator = new ROMERSSGenerator();
rssGenerator.setRSS1(rss1_file); // 設定寫出 RSS 1.0 格式
rssGenerator.setRSS2(rss2_file); // 設定寫出 RSS 2.0 格式
rssGenerator.setATOM03(atom03_file); // 設定寫出 ATOM 0.3 格式
rssGenerator.setATOM10(atom10_file); // 設定寫出 ATOM 1.0 格式
// 產生相簿這個 Channel
rssGenerator.setFeedTitle("我的相簿");
rssGenerator.setFeedLink("http://broso.twbbs.org/photo");
rssGenerator.setFeedDescription("隨想意誌 我的相簿");
for (int i=0;i<photo_album.size();i++) {
....
....
// 將每個相簿加入 RSS 中
String link = "http://broso.twbbs.org/photo/"+DirName;
rssGenerator.addEntry(Title,link,dateParser.parse( Date),"text/html");
}
// 產生 RSS XML
rssGenerator.writeFeed();
|
需注意的是 ROME 需使用 J2SE 1.4 與
JDOM 1.0
下載
ROMERSSGenerator,
ROME,
JDOM 1.0