迭代Xml节点

时间:2013-09-23 10:05:21

标签: java

我正在迭代XML,预期的输出是形成二叉树。我的XML是

<SUB>
    <IN>
        <Number>
            <ID>1</ID>
            <ID>2</ID>
        </Number>
    </IN>
</SUB>

所以预期的输出是SUB作为父节点,随后是子节点。虽然我试图迭代SUB节点,但它给我5个值... 3个值作为#text ..?

我需要将IN添加为左节点。

2 个答案:

答案 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,并抛出异常。