2

我正在尝试创建 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 的值节点。

4

1 回答 1

5

你可以试试这个:

//value[text()="UniqueName3"]/..

这将选择作为其文本值record的元素的父value元素。UniqueName3

这是一个证明:http ://www.xpathtester.com/obj/1afeedf1-46bd-4adb-841e-da6e6945b6d4 (按下测试按钮)。

于 2013-05-02T07:04:17.047 回答