Xpath 轴 函数 谓语

函数

函数 例子 解释
starts-with //div[starts-with(@id,"maida")] 选取 id 值为 maida 开头的 div
contains //div[contains(@id,"maida")] 选取 id 值含 maida 的 div
and //div[starts-with(@id,"maida") and contains(@id,"hello")] 选取 id 值为 maida 开头且含有 hello 的 div
text() 1.  //p/text()
2.  div[contains(text(),"maida")]
1.  获取 p 的文本内容
2.  选取文本内容含 maida 的 div
string 1.  string(.)
2.  string(//div/a)
1.  获取当前节点的文本内容组合成的单独字符串
2.  获取 //div/a 匹配到的首个节点的文本内容组成的单独字符串

轴名 语法 解释
ancestor ./ancestor::* 选取当前节点的所有先辈节点(父、祖父)
ancestor-or-self ./ancestor-or-self::* 选取当前节点的所有先辈节点以及节点本身
descendant ./descendant::* 返回当前节点的所有后代节点(子节点、孙节点)
child ./child::* 返回当前节点的所有子节点
parent ./parent::* 选取当前节点的父节点
following ./following::* 选取文档中当前节点结束标签后的所有节点
following-sibling ./following-sibling::* 选取当前节点之后的兄弟节点
preceding ./preceding::* 选取文档中当前节点开始标签前的所有节点
preceding-sibling ./preceding-sibling::* 选取当前节点之前的兄弟节点
self ./self::* 选取当前节点
attribute ./attribute::* 选取当前节点的所有属性

谓语

表达式 例子 解释
/*/*[num] //div/a[1] 选取 div 下的第一个 a
/*/*[last()] //div/a[last()] 选取 div 下的最后一个 a
/*/*[last()-1] //div/a[last()-1] 选取 div 下的倒数第二个 a
/*/*[position()<3] //div/a[position()<3] 选取 div 下的前两个 a
//*[@maida] //div[@maida] 选取拥有 maida 属性的 div
//*[@id="maida"] //div[@id="maida"] 选取拥有 id 属性等于 maida 的 div
//*[@maida>num] //div[@maida>20] 选取拥有 maida 属性大于 20 的 div
Table of Contents