XPath常用函数整理总结

前言

XPath是W3C的一个标准。它最主要的目的是为了在XML1.0或XML1.1文档节点树中定位节点所设计。目前有XPath1.0和XPath2.0两个版本。其中Xpath1.0是1999年成为W3C标准,而XPath2.0标准的确立是在2007年。

XPath是一种表达式语言,它的返回值可能是节点,节点集合,原子值,以及节点和原子值的混合等。XPath2.0也是XSLT2.0和XQuery1.0的用于查询定位节点的主表达式语言。XQuery1.0是对XPath2.0的扩展。

以下是XPath核心包函数:

函数名 说明 例子
boolean() 返回数字、字符串或节点集的布尔值
ceiling() 返回大于 num 参数的最小整数 ceiling(3.14) 返回 4
concat() 返回字符串的拼接 concat('XPath ','is ','FUN!') 返回 'XPath is FUN!'
contains() 如果 string1 包含 string2,则返回 true,否则返回 false
count() 返回节点的数量
false() 返回布尔值 false
floor() 返回不大于 num 参数的最大整数 floor(3.14) 返回 3
lang(lang) 如果当前节点的语言匹配指定的语言,则返回 true Lang("en") is true for

...

last() 返回在被处理的节点列表中的项目数目 //book[last()] 返回:选择最后一个 book 元素
local-name() 返回当前节点的名称或指定节点集中的第一个节点 - 不带有命名空间前缀
name() 返回当前节点的名称或指定节点集中的第一个节点
namespace-uri() 返回当前节点或指定节点集中第一个节点的命名空间 URI
normalize-space() 删除指定字符串的开头和结尾的空白,并把内部的所有空白序列替换为一个,然后返回结果。如果没有 string 参数,则处理当前节点
not() 首先通过 boolean() 函数把参数还原为一个布尔值。如果该布尔值为 false,则返回 true,否则返回 true
number(arg) 返回参数的数值。参数可以是布尔值、字符串或节点集
position() 返回当前正在被处理的节点的 index 位置
round() 把 num 参数舍入为最接近的整数 例子:round(3.14) 返回:3
starts-with() 如果 string1 以 string2 开始,则返回 true,否则返回 false starts-with('XML','X') 返回:true
string() 返回参数的字符串值。参数可以是数字、逻辑值或节点集 string(314) 返回:"314"
string-length() 返回指定字符串的长度。如果没有 string 参数,则返回当前节点的字符串值的长度
substring() 返回从 start 位置开始的指定长度的子字符串。第一个字符的下标是 1。如果省略 len 参数,则返回从位置 start 到字符串末尾的子字符串 substring('Beatles',1,4) 返回:'Beat'
substring-after() 返回 string2 在 string1 中出现之后的子字符串 substring-after('12/10','/') 返回:'10'
substring-before() 返回 string2 在 string1 中出现之前的子字符串 substring-before('12/10','/') 输出:'12'
sum() 返回指定节点集中每个节点的数值的总和
translate() 把 string1 中的 string2 替换为 string3 translate('12:30','30','45') 返回:'12:45'
true() 返回布尔值 true



参考资料

展开剩余53%