有没有一种简短而优雅的方法来编写XPath 1.0表达式,以获取所有HREF值,这些值至少包含许多搜索值之一?

林恩·阿德里安娜(Lynn Adrianna)

我只是想知道是否有一种较短的编写XPath查询的方法来查找所有HREF值,这些值至少包含许多搜索值之一?

我目前所拥有的是:

//a[contains(@href, 'value1') or contains(@href, 'value2')]

但这看起来很难看,特别是如果我要拥有更多的价值观时。

马蒂亚斯·穆勒(MathiasMüller)

首先,在许多情况下,如果只使用XPath 1.0,则必须忍受表达式的“丑陋”或冗长。我敢说,优雅是2.0版中引入的。

但是,可能有一些方法可以改善您的表达方式:您要查找属性是否有规律性href例如,如果说所述href属性值必须以“ value”开头就足够了,那么表达式可以是

//a[starts-with(@href,'value')]

我知道“ value1”和“ value2”很可能不是您的实际属性值,但是可能还有其他东西可以唯一地标识a您要使用元素如果您希望我们为您提供帮助,请发布您的HTML输入。


就我个人而言,我并不觉得你的表情丑陋。只有一个or运算符,表达式很短而且可读。我拿

如果我有更多的价值。

表示当前您只对两个属性值感兴趣,因此您的问题只是理论上的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档