Java / Xpath--在类似实体之间提取特定值

时间:2012-05-17 14:38:36

标签: java xml parsing xpath

所以我有一个格式化的xml文件

<TopXmlTree>
    <IndentedItem1>
        <subvalue1>
        <subvalue2>
        <subvalue3>
    <IndentedItem1> (Same name as above but a different subset)
        <subvalue1>
        <subvalue2>
        <subvalue3> <<-- I want to get this value

让我们假设我想获得上面的值,有什么方法可以用Xpath做到这一点?通常我的Xpath代码就像

一样简单
XPathExpression expr = xpath.compile("/TopXmlTree/IndentedItem1/Subvalue1/text()");
鉴于这种情况,我显然无法做到这一点。

谢谢!

1 个答案:

答案 0 :(得分:2)

你需要得到第二个IndentedItem1子集的subvalue3值,所以它看起来像这样:

XPathExpression expr = xpath.compile(“// TopXmlTree / IndentedItem1 [2] / subvalue3 / text()”);