Java Dom解析器报告错误的子节点数

Joh*_*ost 6 java xml dom children

我有以下xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<users>
<user id="0" firstname="John"/>
</users>
Run Code Online (Sandbox Code Playgroud)

然后我试图用java解析它,但getchildnodes报告错误的子节点数.

Java代码:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(this.file);
document.getDocumentElement().normalize();
Element root = document.getDocumentElement();
NodeList nodes = root.getChildNodes();
System.out.println(nodes.getLength());
Run Code Online (Sandbox Code Playgroud)

结果:3

此外,我正在获取用于访问节点属性的NPE,因此我猜测某些内容非常糟糕.

Gun*_*her 3

共有三个子节点:

  • 包含换行符的文本节点
  • 元素节点(标记用户)
  • 包含换行符的文本节点

所以在处理子节点时,要检查元素节点。

  • 谢谢,您知道一种以通用方式仅过滤掉元素的方法吗? (4认同)