XML DOM -- 读取同一行的两个节点

XML DOM -- Reading two nodes on the same lime

我正在使用 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);
}

我正在尝试访问 value3,以便获得所需的属性。 但是,我不确定该怎么做。

如果 XML 文档被格式化,那么值在不同的行上,即。

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

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

换句话说: 如何访问所需的属性?

我仍然不知道为什么会这样,但是一旦我删除并重新下载 XML 文档,getChildNodes 在这种情况下工作正常。