0

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

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

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

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

4

2 回答 2

0

在遍历 xml 时,您需要检查该节点的节点类型是否为 Element 类型,例如
exampleNode.getNodeType() == Node.ELEMENT_NODE 如果上述条件为真,则仅输入,因此它将返回 2 个值而不是 5 .

于 2013-09-23T10:12:42.930 回答
0

查找#text 或#comment 之类的值很常见。

这是我用来避免这些的:

if (node.getNodeName().equals("#text")|| node.getNodeName().equals("#comment")) continue;

并且还要注意在进行该检查之后将其Node转换为。Element或者您将尝试将#text 强制转换为Element并引发异常。

于 2013-09-23T10:15:28.287 回答