参考资料

  1. 正则表达式测试工具有哪些
  2. XPath 选取若干路径
  3. XPath 在 XSLT 中使用
  4. XPath 标准函数
  5. 正则表达式语法速查
  6. xpath定位方法有哪些
  7. xpath路径如何查找
  8. XPath 节点

XPath 标准函数

1. 节点相关函数

  • last()

    • 返回当前节点集中的最后一个节点的位置

    • 语法:last()

    • 示例:/bookstore/book[last()]

  • position()

    • 返回当前节点在节点集中的位置

    • 语法:position()

    • 示例:/bookstore/book[position()=1]

  • count(node-set)

    • 返回节点集中的节点数量

    • 语法:count(node-set)

    • 示例:count(/bookstore/book)

  • id(string)

    • 返回具有指定ID的节点

    • 语法:id(string)

    • 示例:id("book1")

2. 字符串函数

  • string(arg)

    • 将参数转换为字符串

    • 语法:string(arg)

    • 示例:string(123)

  • concat(string1, string2,...)

    • 连接多个字符串

    • 语法:concat(string1, string2,...)

    • 示例:concat('A','B','C')

  • substring(string, start, length)

    • 返回子字符串

    • 语法:substring(string, start, length)

    • 示例:substring('ABCDE',2,3)

  • string-length(string)

    • 返回字符串长度

    • 语法:string-length(string)

    • 示例:string-length('Hello')

  • normalize-space(string)

    • 去除字符串首尾空格并将连续空格替换为单个空格

    • 语法:normalize-space(string)

    • 示例:normalize-space('  Hello  World  ')

3. 数值函数

  • number(arg)

    • 将参数转换为数字

    • 语法:number(arg)

    • 示例:number('100')

  • sum(node-set)

    • 计算节点集中数值的总和

    • 语法:sum(node-set)

    • 示例:sum(/book/price)

  • floor(number)

    • 返回小于等于参数的最大整数

    • 语法:floor(number)

    • 示例:floor(3.7)

  • ceiling(number)

    • 返回大于等于参数的最小整数

    • 语法:ceiling(number)

    • 示例:ceiling(3.2)

  • round(number)

    • 对数字四舍五入

    • 语法:round(number)

    • 示例:round(3.5)

4. 布尔函数

  • boolean(arg)

    • 将参数转换为布尔值

    • 语法:boolean(arg)

    • 示例:boolean(1)

  • not(arg)

    • 返回参数的逻辑非

    • 语法:not(arg)

    • 示例:not(false())

  • true()

    • 返回true

    • 语法:true()

    • 示例:true()

  • false()

    • 返回false

    • 语法:false()

    • 示例:false()

5. 其他函数

  • name(node-set)

    • 返回节点的名称

    • 语法:name(node-set)

    • 示例:name(/bookstore/book[1])

  • local-name(node-set)

    • 返回节点的本地名称(不带命名空间前缀)

    • 语法:local-name(node-set)

    • 示例:local-name(/bookstore/book[1])

  • namespace-uri(node-set)

    • 返回节点的命名空间URI

    • 语法:namespace-uri(node-set)

    • 示例:namespace-uri(/bookstore/book[1])