如何根据其同级属性值从元素获取文本值?

mmdfan

范例XML:

<root>
    <ns1:agent ns2:about="a3">
        <ns2:name xml:lang="en">Helen</ns2:name>
        <ns2:age>26</ns2:age>
    </ns1:agent>
    <ns1:agent ns2:about="a1">
        <ns2:name xml:lang="en">John</ns2:name>
        <ns2:age>26</ns2:age>
    </ns1:agent>
    <ns1:agent ns2:about="a2">
        <ns2:name xml:lang="en">Mike</ns2:name>
        <ns2:age>30</ns2:age>
    </ns1:agent>
    ...
    <!-- More ns1:agent nodes -->
    ...
    <ns3:person ns2:id="a1"/>
    <ns3:person ns2:id="a2"/>
    <ns3:person ns2:id="a3"/>
    ...
    <!-- More ns3:person nodes -->
    ...
</root>

那么,如何使用XPath从基于person元素的about属性获取agent / name元素的文本值呢?

编辑:对于每个ns3:person节点,XPath表达式将在循环中使用,因此我事先不知道特定的id属性值。

杰克·弗莱汀

如果我正确理解了您的问题,则您正在寻找这样的xpath表达式:

    //ns1:agent[@ns2:about=//ns3:person/@ns2:id]/ns2:name

为了对其进行测试,我将更改ns3:persons示例XML中的节点

<ns3:person ns2:id="a1"/>
<ns3:person ns2:id="a2"/>
<ns3:person ns2:id="a3"/>

<ns3:person ns2:id="a7"/>
<ns3:person ns2:id="a2"/>
<ns3:person ns2:id="a9"/>

因此只有一个随机ns1:agent对应一个随机ns3:person如果这样做,则该xpath表达式将选择Mike作为目标名称。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据同级值获取元素值

来自分类Dev

XPath:如何根据紧邻的同级元素的值选择元素?

来自分类Dev

获取同级文本输入值

来自分类Dev

如何根据其值获取变量的名称

来自分类Dev

根据内的属性值获取元素

来自分类Dev

如何使用Jquery获取文本框的文本值作为其标题属性?

来自分类Dev

根据同级值xpath查询获取节点

来自分类Dev

根据其值使用JQuery获取列表元素

来自分类Dev

如何让文本根据其条件继承两个值?

来自分类Dev

如何根据其值之一选择数组索引元素?

来自分类Dev

如何从outerHTML的文本中获取属性的值?

来自分类Dev

jQuery根据不同元素中的文本获取标题值

来自分类Dev

yq:如何读取同级元素的值?

来自分类Dev

根据属性值从数组中获取元素(AngularJS)

来自分类Dev

根据特定属性的值获取元素的类或ID名称

来自分类Dev

根据数据属性值在<tr>内获取输入元素

来自分类Dev

如何根据属性值确定 XML 元素的子元素

来自分类Dev

如何通过其属性值更改元素/标签值?

来自分类Dev

如何通过名称获取同级节点的值?

来自分类Dev

如何在Jquery中通过其样式值获取元素

来自分类Dev

根据其值替换数组中的元素

来自分类Dev

XSLT-根据条件修改元素同级的值

来自分类Dev

打字稿。如何从其值获取对象的属性名称?

来自分类Dev

如何根据同级元素的数量更改属性的必需/可选?

来自分类Dev

如何根据孩子的文本值隐藏父元素

来自分类Dev

如何根据文本字段的值显示/隐藏某些元素?

来自分类Dev

如何使用DOM JAVA获取XML元素的第二个同级值?

来自分类Dev

获取锚元素的文本值

来自分类Dev

获取div元素的文本值

Related 相关文章

热门标签

归档