首页 > 解决方案 > 基于 XPATH 中属性中的多个条件选择元素

问题描述

我想根据 Term Element 的另一个属性的值来选择 Term Element 的 Value 属性。请在此处查看 XPath 的 XML 输入。

<Term Value="1025" Name="dnumber"/>
<Term Value="House" Name="adrtype"/>
<Term Value="My Address line 1" Name="adrline1"/>
<Term Value="My Address line 2" Name="adrline3"/>
<Term Value="12345" Name="adrpstcode"/>
<Term Value="07" Name="adrareacod"/>
<Term Value="123456789" Name="adrphone"/>
<Term Value="987654321" Name="adrmobile"/>
<Term Value="PARENT" Name="adrcntrel"/>

例如,在这里我想选择值“我的地址第 1 行”,其中名称为“adrline1”,如果名称“adrtype”的值为“House”,如果有任何其他值则不要。

我正在尝试如下 XPath 表达式。

"/Term[@Name='adrtype' and @Value='House']/Term[@Name='adrline1' ]/@Value"

但我没有得到任何价值。

标签: xpath

解决方案


如果 XML 结构与给定输入相同,那么您的 XPath 应该更改为:

//Term[@Name='adrtype' and @Value='House']/following-sibling::Term[@Name='adrline1']/@Value

看到这个:http: //xsltransform.net/jxWYjVB


推荐阅读