如何使用xpath检索xml值?
我的情景:我可能会得到不同的输出,如下所示。我想检索“单位”标记值取决于代码标记。
输出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,但没有解决。 任何人都可以build议我
/Riders/Rider/Code[text()[contains(.,'AFO')] or text() [contains(.,'ALSP')]]/Units
根据您是否想要获取与根相关的节点或只是find任何匹配的节点,您可以使用类似…
*/Rider[Code[contains(.,'ALSP')]]/Units
这将返回属于任何Rider
节点的所有Units
节点,其中有一个Code
节点,其文本包含ALSP
当然你也可以用…
*/Rider[Code[text() = 'ALSP']]/Units
如果Code
必须完全匹配。
以上将find文档中任何位置的Rider
节点的所有Units
节点。 如果位置很重要,则需要将*/
replace为/Riders/
。
现在,如果你想findALSP
和AFO
,你可以使用像…
*/Rider[Code[text() = 'ALSP' or text() = 'AFO']]/Units