在此示例中,我们向您展示如何使用DOM分析器来计数XML文件中的元素总数。 首先,搜索元素名称,然后可以使用NodeList.getLength()
获得可用元素的总数。
NodeList list = doc.getElementsByTagName("staff");
System.out.println("Total of elements : " + list.getLength());
文件: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
翻译自: https://mkyong.com/java/how-to-count-xml-elements-in-java-dom-parser/