我想根据术语元素的另一个属性的值来选择术语元素的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”,如果名称“ adrtype”的值为“ House”,而名称为“ adrline1”,则其他值则没有。
并且我正在尝试如下XPath Exression。
"/Term[@Name='adrtype' and @Value='House']/Term[@Name='adrline1' ]/@Value"
但是我没有任何价值。
答案 0 :(得分:0)
如果XML结构与给定的输入相同,则您的XPath应该更改为:
//Term[@Name='adrtype' and @Value='House']/following-sibling::Term[@Name='adrline1']/@Value
答案 1 :(得分:0)
首先,我认为您的XML需要这样的结构;
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>1.7.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>1.7.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-core</artifactId>
<version>1.7.4</version>
<scope>test</scope>
</dependency>
之后,您可以使用它来查找和获取值。请记住使用<Terms>
<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"/>
</Terms>
运算符在这种情况下很方便。此外,使用this之类的XPath测试器可以帮助您节省以后的时间。
|