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%