我正在迭代一个 XML,预期的输出是形成一个二叉树。我的 XML 是
<SUB>
<IN>
<Number>
<ID>1</ID>
<ID>2</ID>
</Number>
</IN>
</SUB>
所以预期的输出是 SUB 作为父节点,然后是子节点。虽然我试图迭代 SUB 节点,但它给了我 5 个值..3 个值作为#text..?
我需要添加 IN 作为左节点。
我正在迭代一个 XML,预期的输出是形成一个二叉树。我的 XML 是
<SUB>
<IN>
<Number>
<ID>1</ID>
<ID>2</ID>
</Number>
</IN>
</SUB>
所以预期的输出是 SUB 作为父节点,然后是子节点。虽然我试图迭代 SUB 节点,但它给了我 5 个值..3 个值作为#text..?
我需要添加 IN 作为左节点。
在遍历 xml 时,您需要检查该节点的节点类型是否为 Element 类型,例如
exampleNode.getNodeType() == Node.ELEMENT_NODE 如果上述条件为真,则仅输入,因此它将返回 2 个值而不是 5 .
查找#text 或#comment 之类的值很常见。
这是我用来避免这些的:
if (node.getNodeName().equals("#text")|| node.getNodeName().equals("#comment")) continue;
并且还要注意在进行该检查之后将其Node
转换为。Element
或者您将尝试将#text 强制转换为Element
并引发异常。