- 特に難しいことはありません。RSS0.91/RSS1.0/RSS2.0/Atom0.3 共に読み込むことが出来ました。
public class InformaExam {
/**
* RSSをInformaで取得するプログラム
*/
public static void main(String[] args)
throws IllegalAccessException, InvocationTargetException,
NoSuchMethodException {
try {
System.setProperty("http.proxyHost", "192.168.1.6");
System.setProperty("http.proxyPort", "3128");
// URL url = new URL("http://hondou.homedns.org/pukiwiki/pukiwiki.php?cmd=rss10"); //PukiWiki
// URL url = new URL("http://manabekawori.cocolog-nifty.com/blog/index.rdf"); //RSS1.0
// URL url = new URL("http://yamamura.exblog.jp/index.xml"); //RSS2.0 + image
// URL url = new URL("http://www.cybridge.jp/index.rss"); //RSS0.91
URL url = new URL("http://blog.hankyu-travel.com/mail_club/atom.xml"); // atom0.3
ChannelIF channel = FeedParser.parse(new ChannelBuilder(), url);
printObject(channel);
ImageIF image = channel.getImage();
if (image != null) {
printObject(image);
}
Collection<ItemIF> items = channel.getItems();
for (ItemIF item : items) {
printObject(item);
}
} catch (IOException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
}
}
public static void printObject(final Object obj)
throws IllegalAccessException, InvocationTargetException,
NoSuchMethodException {
Map map = PropertyUtils.describe(obj);
System.out.println(obj.getClass().getName() + "{");
for (Iterator it = map.keySet().iterator(); it.hasNext();) {
Object key = it.next();
System.out.println(" " + key + "=" + map.get(key));
}
System.out.println("}");
}
}
- 読み込み結果(RSS0.91)
RSS0.9xは、個々の記事(Item)に更新日付が無いことが特徴です。RSS文書全体(Channel)の更新日付までしか分かりません。
2006/02/19 22:55:11 de.nava.informa.parsers.FeedParser parse
情報: Channel uses RSS root element (Version 0.92).
de.nava.informa.impl.basic.Channel{
title=ニュース
ttl=-1
categories=[]
publisher=null
rating=null
id=1025432386
…(中略)…
description=株式会社サイブリッジに関するお知らせ、パブリシティ、
プレスリリースなどのニュース情報を配信
lastBuildDate=Wed Feb 15 20:37:32 JST 2006
updateFrequency=-1
generator=null
format=RSS 0.91
}
de.nava.informa.impl.basic.Item{
comments=null
enclosure=null
title=フジテレビ スーパーニュースにて紹介されました
class=class de.nava.informa.impl.basic.Item
categories=[]
link=http://www.cybridge.jp/news/?p=31
! date=null
found=Sun Feb 19 22:55:11 JST 2006
id=639342499
creator=null
description=フジテレビ スーパーニュースにて紹介されました。
写真は放送前の取材陣さんたちです。
guid=null
subject=null
unRead=true
source=null
channel=[Basic Channel (1025432386): ニュース (http://www.cybridge.jp/index.rss )]
}
de.nava.informa.impl.basic.Item{
comments=null
enclosure=null
title=The Japan Timesにて弊社副社長の濱田が紹介されました
class=class de.nava.informa.impl.basic.Item
- RSS1.0/2.0
RSS1.0+Dublin Core と RSS2.0 はほぼ同じです。
記事毎(Item)に更新日付があります。
de.nava.informa.impl.basic.Channel{
title=眞鍋かをりのココだけの話 powered by ココログ
ttl=-1
categories=[]
publisher=null
rating=null
id=1037208528
…(中略)…
description=
lastBuildDate=null
updateFrequency=-1
generator=http://www.typepad.com/?v=1.5.1j
format=RSS 1.0
}
de.nava.informa.impl.basic.Item{
comments=null
enclosure=null
title=眠れる森の○○
class=class de.nava.informa.impl.basic.Item
categories=[]
link=http://manabekawori.cocolog-nifty.com/blog/2006/02/post_d157.html
! date=Wed Feb 15 22:58:42 JST 2006
found=Sun Feb 19 23:28:27 JST 2006
id=1847801781
creator=かをり
description=<p>「寝顔がひどいよね」 最近、久々に言われてしま
ったの。このせりふ。 とういのもね...</p>
guid=null
subject=null
unRead=true
source=null
channel=[Basic Channel (1037208528): 眞鍋かをりのココだけの話
powered by ココログ (http://manabekawori.cocolog-nifty.com/blog/index.rdf )]
}
de.nava.informa.impl.basic.Item{
comments=null
enclosure=null
title=誤爆祭り
class=class de.nava.informa.impl.basic.Item
categories=[]
link=http://manabekawori.cocolog-nifty.com/blog/2006/02/post_3c2e.html
! date=Fri Feb 03 16:39:41 JST 2006
found=Sun Feb 19 23:28:27 JST 2006
id=1984445107
creator=かをり
- image属性
RSSにアイコンがあるときには、image属性がつきます。
2006/02/19 23:03:18 de.nava.informa.parsers.FeedParser parse
情報: Channel uses RSS root element (Version 2.0).
de.nava.informa.impl.basic.Channel{
title=エキサイト社長、山村幸広のインターネットブログ
ttl=-1
categories=[]
publisher=null
rating=null
id=1365439855
…(中略)…
description=テーマは「仕事」「酒」「食」「健康」「趣味」です。
lastBuildDate=null
updateFrequency=-1
generator=null
format=RSS 2.0
}
de.nava.informa.impl.basic.Image{
width=80
height=107
title=エキサイト社長、山村幸広のインターネットブログ
class=class de.nava.informa.impl.basic.Image
description=テーマは「仕事」「酒」「食」「健康」「趣味」です。
link=http://yamamura.exblog.jp
location=http://pds.exblog.jp/logo/1/200402/02/02/a000000220060203144829.jpg
id=299676041
}
de.nava.informa.impl.basic.Item{
comments=null
enclosure=null
- Atom0.3
Atomは、RSS0.9x/RSS1.0/RSS2.0とタグや構造が違いますが、InformaではRSSと同じオブジェクトの構造に解釈してくれます。
2006/02/19 23:21:42 de.nava.informa.parsers.FeedParser parse
情報: Channel uses feed root element (Version 0.3).
de.nava.informa.impl.basic.Channel{
title=阪急交通社メールマガジン
ttl=-1
categories=[]
publisher=null
rating=null
id=546090499
…(中略)…
description=旅行のことなら阪急交通社におまかせ。
海外旅行・国内旅行のご予約、格安航空券・国内宿泊施設の
お問い合わせから観光情報まで、情報満載の阪急の総合旅行
サイトです。
lastBuildDate=null
updateFrequency=-1
generator=Movable Type
format=Atom 0.3
}
de.nava.informa.impl.basic.Item{
comments=null
enclosure=null
title=■往復JR特急利用の金沢フリープランが9,800円均一!…
class=class de.nava.informa.impl.basic.Item
categories=[]
link=http://blog.hankyu-travel.com/mail_club/archives/2006/02/jr9800.html
date=Thu Feb 16 00:02:00 JST 2006
found=Sun Feb 19 23:21:42 JST 2006
id=228144359
creator=null
description=編集長あっこです。朝起きて窓を開けた瞬間の空気に、
心なしか春を感じるときがあります。暖かくなってくると、
どこかに行きたい病がむくむくするのは私だけじゃないはず!
神戸空港OPEN記念ツアーは、この春の旅にオススメですよ。
guid=null
subject=002_西日本版
unRead=true
source=null
channel=[Basic Channel (546090499): 阪急交通社メールマガジン
(http://blog.hankyu-travel.com/mail_club/atom.xml )]
}
de.nava.informa.impl.basic.Item{
comments=null
enclosure=null
title=■今週のイチオシは「ハワイ」と「国内旅行・沖縄・大阪・九州・…
class=class de.nava.informa.impl.basic.Item