微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

xml – 如何使用XPath选择多个可能的文本值?

我必须从类似下面的评级标签中选择评级代码,但仅限于代理商为“SP”或“SNP”时.现在我有
./ratings/rating/agency[text()='SNP'|text()='SP']/../code

这似乎不起作用.我究竟做错了什么?

<ratings>
  <rating>
    <agency>SP</agency>
    <provider>SP</provider>
    <type>LONG TERM</type>
    <currencyType>LOCAL</currencyType>
    <description>SP Standard LT LC rating</description>
    <code>BBB+</code>
    <date>2011-09-07</date>
  </rating>
</ratings>

谢谢,

贾里德

主要是联盟操作符|你试图用作’或’.将其更改为或:
./ratings/rating/agency[text()='SNP' or text()='SP']/../code

或者更自然地,

ratings/rating[agency[. = 'SNP' or . = 'SP']]/code

在XPath 2.0中,您可以使用序列:

ratings/rating[agency = ('SNP','SP')]/code

原文地址:https://www.jb51.cc/xml/292155.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。