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の親である要素が選択されます。valueUniqueName3

ここに証明があります: http://www.xpathtester.com/obj/1afeedf1-46bd-4adb-841e-da6e6945b6d4 ( [テスト] ボタンを押します)。

于 2013-05-02T07:04:17.047 に答える