// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
次にRSSフィードをパースして、更新情報を取得するクラス([[RSSReader:http://www.masatom.in/document/pingweb/javadoc/nu/mine/kino/rss/updater/RSSReader.html]])を作成します。RSSのパーサのJava実装は、[[RSS4j:http://www.churchillobjects.com/c/13005.html]]という便利なライブラリがありますので、それを使用します。



RSSフィードのうち、サイトの更新情報にあたるitemタグに該当する箇所:
 <item rdf:about="http://www.masatom.in/pukiwiki/index.php?Java%2FPing%A5%A2%A5
     %D7%A5%EA%A5%B1%A1%BC%A5%B7%A5%E7%A5%F3%2FRSS%A4%F2%C6%C9%A4%DF%B9%FE%A4%E0%A5%D1%A1%BC%A5%B5">
   <title>Java/Pingアプリケーション/RSSを読み込むパーサ</title>
   <link>http://www.masatom.in/pukiwiki/index.php?Java%2FPing%A5%A2%A5%D7%A5%EA
     %A5%B1%A1%BC%A5%B7%A5%E7%A5%F3%2FRSS%A4%F2%C6%C9%A4%DF%B9%FE%A4%E0%A5%D1%A1%BC%A5%B5</link>
   <dc:date>2006-02-25T15:21:49+09:00</dc:date>
   <dc:identifier>http://www.masatom.in/pukiwiki/index.php?Java%2FPing%A5%A2%A5
     %D7%A5%EA%A5%B1%A1%BC%A5%B7%A5%E7%A5%F3%2FRSS%A4%F2%C6%C9%A4%DF%B9%FE%A4%E0%
     A5%D1%A1%BC%A5%B5</dc:identifier>
 </item>
は以下の処理で取得することができます。
 List list = new ArrayList();
 URL rssURL = new URL(url);
 HttpURLConnection urlConnection = (HttpURLConnection) rssURL.openConnection();
 RssDocument doc = RssParser
         .parseRss(urlConnection.getInputStream());
 
 Enumeration e = doc.channels();
 // 要素は一つ
 if (e.hasMoreElements()) {
     RssChannel channel = (RssChannel) e.nextElement();
     Enumeration enuma = channel.items();
     while (enuma.hasMoreElements()) {
         RssChannelItem item = (RssChannelItem) enuma.nextElement();
         list.add(item);
 
     }
 }
 logger.debug("getRssChannelItems() - end");
 return (RssChannelItem[]) list.toArray(new RssChannelItem[list
         .size()]);






これを使って、更新情報を配列(型はRSS4jが提供してくれてるRssChannelItem)で返すメソッド
 public RssChannelItem[] getRssChannelItems();
を実装しました。このクラスのこのメソッドで、サイトの更新情報を配列で取得することができるようになりました。


ソースは[[こちらにあります:http://www.masatom.in/document/pingweb/j2h/nu/mine/kino/rss/updater/RSSReader.java.html]]。


----
この記事は
#vote(おもしろかった[2],そうでもない[0])
#vote(おもしろかった[3],そうでもない[0])

#comment
#topicpath


SIZE(10){現在のアクセス:&counter;}

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS