使用java获取xml文件中所有节点的完整路径

时间:2016-03-14 12:50:32

标签: java xml dom xpath

我希望使用java获取xml文件的完整路径 文件是这样的:

<root>
    <A>
        <A1>
            <A1A>1000</A1A>
            <A1B>2000</A1B>
            <A1C>3000</A1C>
        </A1>
        <A2>
            <A2A>4000</A2A>
            <A2B>5000</A2B>
        </A2>
    </A>
    <B>
        <B1>
            <B1A>6000</B1A>
        </B1>
    </B>
</root>

结果应该是这样的:

root/A/A1/A1A    1000
root/A/A1/A1B    2000
root/A/A1/A1C    3000
root/A/A2/A2A    4000
root/A/A2/A2B    5000
root/B/B1/B1A    6000

迭代所有节点并获取其完整路径: 这是开始的代码,但我一直坚持想要获得完整的路径:

    XPathExpression expr = xpath.compile("/root/A/descendant::node()");
            NodeList nl = (NodeList) expr.evaluate(document, XPathConstants.NODESET);
            for (int i = 0; i < nl.getLength(); i++) {
                Node node = nl.item(i);
                doc.getDocumentElement().appendChild(doc.importNode(node, true));

// here i want extracting full path of each node
                System.out.print(node.getParentNode().getNodeName()+"\n");
            }

请任何人帮助我:)。

0 个答案:

没有答案