【发布时间】:2016-01-28 18:30:24
【问题描述】:
我想在 java 中解析 xml 文件。我的代码是这样的。但是当运行它时,控制台中会出现错误的数据。我的xml文件比如这个
<set>
<employe>
<name>reza</name>
<id>1</id>>
</employe>
<employee>
<name>ali</name>
<id>2</id>
</employee>
</set>
我的代码是这样的:
DocumentBuilderFactory factory = DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(file.toFile());
Element root = document.getDocumentElement();
if (!root.hasChildNodes()) {
paths.add(file);
} else {
System.out.println("Element Name in: "+file.getFileName());
System.out.println("Root element: "
+ "Total count: " + root.getChildNodes().getLength());
for (int i = 0; i < root.getChildNodes().getLength(); i++) {
Node node = root.getChildNodes().item(i);
if (node.getChildNodes().getLength() != 0) {
System.out.println("name: "+ node.getNodeName() + " size:"
+ node.getChildNodes().getLength());
}
}
}
并在控制台中显示此数据
Element Name in: file.xml
Root element: Total count: 5
name: employe size:5
name: employee size:5
我的问题是什么?
【问题讨论】:
-
你还没有说为什么你得到的输出是错误的,或者你期望得到什么。在我们知道您打算发生什么之前,我们无法提供帮助。
-
@Jim Garrison 我想计算这段代码中的节点元素。实际上员工人数为 2,但显示为 5。为什么?