繁体   English   中英

XPath Select节点,其中存在具有给定属性值的子级

[英]XPath Select node where exists child with given attribute value

我正在尝试创建一个z xpath,我想在其中获得一个节点,在该节点中存在一个具有属性的子节点。 我的问题是此结构的唯一区别是child属性。 这是一个示例,向您展示我的意思:

<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的值节点。

您可以尝试以下方法:

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

这将选择record元素,该record元素是value元素的父元素,其中value元素包含UniqueName3作为其文本值。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM