我正在尝试创建az xpath,我希望获得一个节点,其中存在一个具有属性的子节点。我的问题是这个结构的唯一区别是子属性。这是一个向您展示我的意思的例子:
<Values>
<record name="svc_sig">
<record name="sig_in">
<array name="rec_fields">
<record>
<value name=field_name">UniqueName1</value>
</record>
<record>
<value name=field_name">UniqueName2</value>
</record>
<record>
<value name=field_name">UniqueName3</value>
</record>
<record>
<value name=field_name">UniqueName4</value>
</record>
</array>
</record>
</record>
<Values>
例如,给定UniqueName3我想获取包含它的记录。 到目前为止,我尝试了以下内容:
/Values/record[@name='svc_sig']/record[@name='sig_in']/array[@name]/record/value[@name='field_name']
然而,我得到了具有属性field_name的所有值节点。
答案 0 :(得分:5)
你可以试试这个:
//value[text()="UniqueName3"]/..
这将选择record
元素,该元素是value
元素的父元素,其中包含UniqueName3
作为文本值。
以下是一个证明:http://www.xpathtester.com/obj/1afeedf1-46bd-4adb-841e-da6e6945b6d4(按测试按钮)。