@634

634 - JAXP - DOM - 指定した要素の個数を取得

Advertisement

NodeList

指定した要素数を取得するためには、getElementsByTagNameメソッドで対象要素名を指定してNodeListオブジェクトを取得した後に、NodeListクラスのgetLengthメソッドを実行します。利用例を以下に示します。
import java.io.BufferedInputStream;
import java.io.FileInputStream;

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

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

public class DOMTest {

    public static void main(String[] args) {
        try{
            FileInputStream fis = new FileInputStream("./sample.xml");
            BufferedInputStream bis = new BufferedInputStream(fis);

            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = factory.newDocumentBuilder();
            Document doc = builder.parse(bis);

            // ルート要素の取得
            Element root = doc.getDocumentElement();

            // book 要素のリストを作成
            NodeList list = root.getElementsByTagName("book");

            // book 要素の個数を表示
            System.out.println("book 要素 " + list.getLength() + " 個");
        }catch(Exception e){
            System.err.println(e.getMessage());
            System.exit(1);
        }
    }
}

入力ファイル(sample.xml)
<?xml version="1.0" encoding="Shift_JIS"?>
<document>
    <book id="10">
        <title>AAA</title>
        <price>1500</price>
    </book>
    <book id="20">
        <title>BBB</title>
        <price>1200</price>
    </book>
</document>

結果
book 要素 2 個

Advertisement

ショートカット

634
634ブログ
このカテゴリのトップページに戻る
Incubator(Pukiwiki)
634ラボ
   UIコレクションギャラリー
   ZO-3ジェネレーター

サイト検索


Y!ログール