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函数一个总结,第二种用法不太常用,特此记录下,希望能帮助到大家~