用于选择所有子节点的XPath表达式,无需后代Java

时间:2016-07-28 18:18:23

标签: java xml xpath

所以我在我的Java应用程序中使用XPath来解析xml文件。文件格式如下:

<RootNode>
    <Node1>Value 1</Node1>
    <Node2>
        <Node2-1>
            <Node2-1-1>Value 2.1.1</Node2-1-1>
        </Node2-1>
    </Node2>
    <Node3>Value 3</Node3>
</RootNode>

我试图以一般方式只获取Node1和Node3。使用RootNode上下文,我尝试过:

child::[text()]
*/text()
*/node()
*

*让我最近但抓住了Node2。如何只获取单值节点并忽略具有死者的节点?

1 个答案:

答案 0 :(得分:1)

我在xpath测试仪上尝试了这个并且它有效:

RootNode/node()[not(*)]