我有以下XML有效负载:
<fizz>
<buzz class="foo">
<whatever/>
</buzz>
</fizz>
/fizz/buzz[@class]/@class
属性的值可以是foo
,bar
或whistlefeather
。我正在尝试编写一个涵盖所有三种情况的有效XPath表达式。我最好的是:
/fizz/buzz[@class]/@class = 'foo' |
/fizz/buzz[@class]/@class = 'bar' |
/fizz/buzz[@class]/@class = 'whistlefeather'
是否有一些“速记”方法可以使它更简洁/更有效(不太冗长)?
答案 0 :(得分:0)
使用此(所有xpath版本):
/fizz/buzz[@class='foo' or @class='bar' or @class='whistlefeather']
使用xpath> = 2:
/fizz/buzz[@class=("foo", "bar", "whistlefeather")]
答案 1 :(得分:0)
更正@GillesQuenot的答案:
使用任何XPath版本:
/fizz/buzz[@class='foo' or @class='bar' or @class='whistlefeather']
使用XPath 2.0或更高版本:
/fizz/buzz[@class=("foo", "bar", "whistlefeather")]
(注意,这将返回所选的buzz
元素。目前尚不清楚您实际上希望表达式返回什么。)