相关文章推荐
沉稳的茶壶  ·  用visual ...·  4 月前    · 
fn:contains(string1,string2) 如果 string1 包含 string2,则返回 true,否则返回 false。例子:contains('XML','XM')结果:true

可以看出 contains函数表示意思是,第一个参数字符串包含第二个参数时,返回true

实际用起来可能会有点差异(由于结合了路径表达式和属性)

下面列出了最有用的路径表达式:

表达式 描述
nodename 选取此节点的所有子节点。
/ 从根节点选取。
// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。
. 选取当前节点。
.. 选取当前节点的父节点。
@ 选取属性。

比如我们会有时这么用

tree.xpath('//div[contains(@class,"abc")]')  #选取class属性包含字符串"abc"的节点

还有,在需要判断节点是否包含某个子节点时候,可以这么用

tree.xpath('//div[contains(/,a)]') #判断div是否满足包含子节点a这个条件,是则返回满足条件的div节点

当需要多个函数条件时,可以这么用

tree.xpath('//div[contains(@class,"abc") and contains(@class,"cbf")]') #返回class属性同时包含 "abc""cbf" 字符串的div节点
tree.xpath('//div[contains(@class,"abc") or contains(@class,"cbf")]') #返回class属性包含 "abc""cbf" 字符串的div节点

以上,就是关于xpath的contains函数一个总结,第二种用法不太常用,特此记录下,希望能帮助到大家~

分类:
后端
标签: