gpt4 book ai didi

java - 如何使用 xpath 检索 xml 值?

转载 作者:行者123 更新时间:2023-11-30 08:04:33 25 4
gpt4 key购买 nike

我的场景:我可能会得到如下所示的不同输出。我想检索取决于代码标签的“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

最佳答案

根据您是否想要获取有关根的节点或只是查找任何匹配的节点,您可以使用类似...

*/Rider[Code[contains(.,'ALSP')]]/Units

这将返回属于任何 Rider 节点的所有 Units 节点,该节点有一个 Code 节点,其文本包含 ALSP

当然你也可以使用...

*/Rider[Code[text() = 'ALSP']]/Units

如果代码必须完全匹配。

上面的代码将在文档中的任何位置查找 Rider 节点的所有 Units 节点。如果位置很重要,您需要将 */ 替换为 /Riders/

现在,如果您想同时查找 ALSPAFO,您可以使用类似...

*/Rider[Code[text() = 'ALSP' or text() = 'AFO']]/Units

关于java - 如何使用 xpath 检索 xml 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31331252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com