感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

【プログラミング 20時間目】WebからXMLを取得して解析する。


スポンサーリンク

興味の赴くままに、今度はWeb上からXMLを取得して、解析するコードを書いてみた。

元のXMLはclipTagsから取得。
このサイトはネットの情報をかき集め、「今ネット上でホットな話題」を独自に採点して順位付けて表示してくれる。
2ちゃんねるのまとめサイトの拡大進化版と考えてもいいだろう。

http://www.cliptags.net/tops?lang=jpn

ちょうどこのサイトに「RSS」なるボタンがあったので、このRSSから「title」だけ取得してみる。

package xml;

import java.net.URL;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class XmlParseTest {
	private static String url = "http://www.cliptags.net/top/index.rss?lang=jpn";
	
	public static void main(String args[]) throws Exception {
		
		//DOMの準備をする
		DocumentBuilderFactory dbf 
					= DocumentBuilderFactory.newInstance();
		DocumentBuilder db
					= dbf.newDocumentBuilder();
		//文書を読み込む
		Document doc = db.parse(new URL(url).openStream());
		
		//ルート要素を得る
		Element root = doc.getDocumentElement();
		
		NodeList list = doc.getElementsByTagName("title");
		for(int i=0; i<list.getLength();i++){
			Node n = list.item(i);
			for(Node ch = n.getFirstChild(); ch != null; ch = ch.getNextSibling()){
				System.out.println(ch.getNodeName() + ":" + ch.getNodeValue());
			}
		}
	}
}

結果は以下のようになる。
Web上からXMLを取得して、解析して出力することができた。

#text:ClipTags
#text:無料OS 「Ubuntu」にスマートフォン版登場、Android対応ハードで動作 【増田 @maskin】 : TechWave
・・・