JavaでXML要素を数える方法 – (DOM Parser)
この例では、
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