我正在迭代XML,预期的输出是形成二叉树。我的XML是
<SUB>
<IN>
<Number>
<ID>1</ID>
<ID>2</ID>
</Number>
</IN>
</SUB>
所以预期的输出是SUB作为父节点,随后是子节点。虽然我试图迭代SUB节点,但它给我5个值... 3个值作为#text ..?
我需要将IN添加为左节点。
答案 0 :(得分:0)
在迭代xml时,您需要检查该节点的节点类型是否为Element类型 exampleNode.getNodeType()== Node.ELEMENT_NODE 如果上述条件为真,则只输入,它将返回2个值而不是5。
答案 1 :(得分:0)
通常会找到像#text或#comment这样的值。
这是我用来避免这些的:
if (node.getNodeName().equals("#text")|| node.getNodeName().equals("#comment")) continue;
并注意在执行该检查后将Node
强制转换为Element
。或者您将尝试将#text强制转换为Element
,并抛出异常。