XPATH - 如何根据其他标记的值选择1个标记的值
问题描述:
以下是XML。现在我想选择所有/ Home/Coverage/Coverage/Identifier/CoverageName ='WorkersCompensation'作为值的/ Home/Identifier/HomeNumber值。我已经在类似的问题在这个论坛上尝试过一些答案,但似乎没有工作。我在构建XPATH表达式时需要帮助。XPATH - 如何根据其他标记的值选择1个标记的值
<Home>
<Identifier>
<HomeNumber>1</HomeNumber>
</Identifier>
<Coverages>
<Coverage busStatus="Active">
<Identifier>
<CoverageName>PersonalLiability</CoverageName>
</Identifier>
</Coverage>
<Coverage>
<Identifier>
<CoverageName>WorkersCompensation</CoverageName>
</Identifier>
<Detail>
<Name>NumberOfInServants</Name>
<Value>
<Integer>1</Integer>
</Value>
</Detail>
</Coverage>
<covergaes>
</Home>
<Home>
.
.
.
</Home>
答
你几乎自己写它:
/*/Home[Coverages
/Coverage
/Identifier
/CoverageName
= 'WorkersCompensation']
/Identifier
/HomeNumber
注意:我希望一些根元素,当然...
答
尝试
/*/Home[Coverages/Coverage/Identifier/CoverageName='WorkersCompensation']/Identifier/HomeNumber
我不知道一个100%,如果它工作或没有,我真的没有时间来测试它。如果有效,我会在后面解释为什么我给出了这个答案。
@戴夫:我会考虑删除我的回答如果你说了什么关于这是一个**绝对表达式** ... – 2011-02-07 17:20:30