この例では、

DOM Parser

を使用してXMLファイル内の要素の合計数をカウントする方法を示します。まず、要素名を検索すると、 `NodeList.getLength()`を使って利用可能な要素の総数を取得できます。

    NodeList list = doc.getElementsByTagName("staff");
    System.out.println("Total of elements : " + list.getLength());


File:file.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<company>
    <staff id="1">
        <firstname>yong</firstname>
        <lastname>mook kim</lastname>
        <nickname>mkyong</nickname>
        <salary>2000000</salary>
        <age>29</age>
    </staff>
    <staff id="2">
        <firstname>low</firstname>
        <lastname>yin fong</lastname>
        <nickname>fong fong</nickname>
        <salary>1000000</salary>
    </staff>
    <staff id="3">
        <firstname>Ali</firstname>
        <lastname>Baba</lastname>
        <nickname>Alibaba</nickname>
        <salary>199000</salary>
        <age>40</age>
    </staff>
</company>


File:CountXMLElement.java

– 使用可能な「

staff

」要素の総数を検索します。

import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class CountXMLElement {

  public static void main(String argv[]) {

    try {
        String filepath = "c:\\file.xml";
        DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
        Document doc = docBuilder.parse(filepath);

        NodeList list = doc.getElementsByTagName("staff");

        System.out.println("Total of elements : " + list.getLength());

    } catch (ParserConfigurationException pce) {
        pce.printStackTrace();
    } catch (IOException ioe) {
        ioe.printStackTrace();
    } catch (SAXException sae) {
        sae.printStackTrace();
    }
  }
}

出力

Total of elements : 3