Javaには標準でXML文書を処理することができるクラスライブラリがありますので、試しに使ってみました。
XMLの特定の要素名(下記の例で言えば、tdタグ)を指定して値を一括で取得して出力しています。
以下のようなXML文書を用意してローカルの任意の場所に配置します。
(サンプルでは、「C:/Users/User/Documents/test/test.xml」に配置しています。)
1 |
<strong>test.xml</strong> |
<?xml version="1.0" encoding="UTF-8" ?> <div> <table> <tr> <td>乗り物</td> <td>車</td> </tr> <tr> <td>食べ物</td> <td>コーラ</td> </tr> </table> </div>
import java.io.*; import javax.xml.parsers.*; import org.w3c.dom.*; public class xmlparsartest2 { public static void main(String args[]) throws Exception { //DOMの準備をする DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); //ローカルに配置したXML文書を読み込む Document doc = db.parse(new FileInputStream("C:/Users/User/Documents/test/test.xml")); //要素をノードリストとして取り出す NodeList lst= doc.getElementsByTagName("td"); for(int i=0; i<lst.getLength(); i++){ Node n = lst.item(i); for(Node ch = n.getFirstChild();ch != null;ch = ch.getNextSibling()){ System.out.println(ch.getNodeValue()); } } } }
出力結果
下記のように、tdタグの内容だけが、コンソールに出力されていることを確認できます。
この記事へのコメントはありません。