我的场景:我可能会得到不同的输出,如下所示。我想检索“Units”标记值取决于代码标记。
输出1:
<Riders>
<Rider>
<Name>ALSP</Name>
<Code>ALSP</Code>
<Units>3</Units>
</Rider>
<Rider>
<Name>Individual</Name>
<Code>Select Type of Coverage</Code>
<OptionCode>Individual</OptionCode>
<IsFeature>true</IsFeature>
</Rider>
</Riders>
输出2:
<Riders>
<Rider>
<Name>AFO</Name>
<Code>AFO</Code>
<Units>6</Units>
</Rider>
<Rider>
<Name>Individual</Name>
<Code>Select Type of Coverage</Code>
<OptionCode>Individual</OptionCode>
<IsFeature>true</IsFeature>
</Rider>
</Riders>
我在xpath下面尝试但没有成功。有谁能建议我。
/Riders/Rider/Code[text()[contains(.,'AFO')] or text() [contains(.,'ALSP')]]/Units
答案 0 :(得分:1)
根据您是否想要获取有关根节点的节点或只是找到任何匹配的节点,您可以使用类似的内容......
*/Rider[Code[contains(.,'ALSP')]]/Units
这将返回属于任何Units
节点的Rider
个节点,这些节点具有Code
节点,其文本包含ALSP
当然你也可以使用......
*/Rider[Code[text() = 'ALSP']]/Units
如果Code
必须完全匹配。
以上内容将在文档中的任何位置找到Units
节点的所有Rider
个节点。如果排名很重要,则需要将*/
替换为/Riders/
。
现在,如果您想同时找到ALSP
和AFO
,您可以使用类似的内容......
*/Rider[Code[text() = 'ALSP' or text() = 'AFO']]/Units