XMLDOM——在同一个节点上读取两个节点

XMLDOM——在同一个节点上读取两个节点,xml,dom,xml-parsing,Xml,Dom,Xml Parsing,我正在使用dom遍历一个XML文档,该文档具有如下树: <value> <value2 number="3"><value3 needed="item1"/></value2> <value2 number="2"><value3 needed="item2"/></value2> <valu

我正在使用dom遍历一个XML文档,该文档具有如下树:

<value>
      <value2 number="3"><value3 needed="item1"/></value2>
      <value2 number="2"><value3 needed="item2"/></value2>
      <value2 number="1"><value3 needed="item3"/></value2>
</value>

我有

NodeList value = aboveNodes.getChildNodes();
for(int i = 0; i < value.getLength(); i++) {
   Node value2 = value.item(i);
}
NodeList value=overnodes.getChildNodes();
for(int i=0;i
我正在尝试访问value3,以便获得所需的属性。 然而,我不确定如何做到这一点

如果XML文档是格式化的,那么值在单独的行上,即

<value2 number="3">
   <value3 needed="item1"/>
</value2>

我知道我可以用getChildNodes来做,但是当它们在同一条线上时,我该怎么做呢

换言之:
如何访问所需的属性?

我仍然不知道为什么会发生这种情况,但一旦我删除并重新下载了XML文档,getChildNodes在这种情况下运行良好。

示例数据中没有
值33
。此外,在这种情况下,您是否也尝试过
getChildNodes
?XML规范并没有说元素必须从新行开始才能成为子元素。@choroba我有,但它不起作用,我可以手动将它们移动到XML文件中的新行,然后getChildNodes工作,但不知道它当前的工作方式是什么?您期望的输出是什么语言和解析器?