使用Xpath表达式在另一个属性匹配时提取属性

时间:2014-06-06 00:52:29

标签: xml xpath

我的第一个问题在这里!

所以我使用以下表达式:// nodes / node [@name =' 00_QATEST']

,XML就像这样:

xml version 1.0
    <nodes>
        <node id = "1234abc" name="00_QATEST"/>
        <node id = "12345abcd" name="00_QATEST2"/>

当我使用上面的表达式时,它将返回整个块。我需要得到id值。现在如果我在上面的表达式中输入id而不是node,我什么都没有返回。

1 个答案:

答案 0 :(得分:1)

您的XPath正在选择整个节点,因为您只选择了//节点/节点......也就是说,您选择整个节点,而不只是选取ID。

相反,请尝试添加// @ id以仅选择具有正确名称的节点的ID。

//nodes/node[@name='00_QATEST']//@id

您也可以查看:http://www.xpathtester.com/xpath

编辑: 我用以下代码测试了你的xml:

<nodes>
    <node id = "1234abc" name="00_QATEST"/>
    <node id = "12345abcd" name="00_QATEST2"/>
</nodes>