XPath谓词(筛选表达式)及轴的概念 运算符及特殊字符 常用表达式实例

功能函数(Functions)

在XPath里有很多功能函数可以帮助我们精确寻找需要的节点。

count()功能
作用:统计计数,返回符合条件的节点的个数。
举例:<p><xsl:value-of select="count(PERSON[name=tom])"/></p>
说明:代码的用途是显示PERSON元素中姓名属性值为tom有几个。

number()功能
作用:将属性的值中的文本转换为数值。
举例:<p>The number is: <xsl:value-of select="number(book/price)"/></p>
说明:代码的用途是显示书的价格。

substring() 功能
语法:substring(value, start, length)
作用:截取字符串。
举例:<p><xsl:value-of select="substring(name, 1, 3)"/></p>
说明:代码的用途是截取name元素的值,从第一个字母开始显示到第三个。

sum()功能
作用:求和。
举例:<p>Total Price = <xsl:value-of select="sum(//price)"/></p>
说明:代码的用途是计算所有价格的和。

 

Xpath中的replace 函数:
string translate(string, string, string)
translate('bar','abc','ABC')="BAr"
translate('barcx','abc','A')="Arx"
translate('barcx','abc','AB')="BArx"
translate("--aaa--","abc-","ABC")="AAA"
第一个参数提供一种单字符(characters)视图,用第二和第三个参数进行描述。在第一个参数中查找第二个参数字符列表并按位置对应第三个参数字符列表,将第二个参数字符列表中的字符替换为第三个参数字符列表对应位置的字符。没有对应位置则替换为空('').

Xpath中的substring 函数:
string substring-before(string, string)
string substring-after(string, string)
string substring(string, number, number?)
substring-before("1999/04/01","/")="1999"
substring-after("1999/04/01","19")="99/04/01"
返回第二个参数在第一个参数字符中第一次出现位置的之前、后的部分字符。
substring("12345", 1.5, 2.6) returns "234"
substring("12345", 0, 3) returns "12"
substring("12345", 0 div 0, 3) returns ""
substring("12345", 1, 0 div 0) returns ""
substring("12345", -42, 1 div 0) returns "12345"
substring("12345", -1 div 0, 1 div 0) returns ""
返回第一个参数指定位置开始的第三个参数指定长度的第一个参数的部分字符。若第二、三个参数为小数值按round()函数计算后取值。


Xpath中的length 函数:
number string-length(string)
string-length("ab cd")=5


Xpath中的StartsWith 函数:
boolean starts-with(string, string)

Xpath中的格式化空格函数
string normalize-space(string)
normalize-space(" abc def ")="abc def"


Xpath中的存在性检查函数:
boolean contains (str1, str2)
检查str1是否包含str2


Xpath中的字符串或参数连接 函数:
string concat (string, string, string*)
concat('abc', 'd', 'ef', 'g')="abcdefg"

Xpath中的 boolean () 函数:
boolean(0) = false
boolean(1) = true
boolean(-100) = true
boolean(100) = true
boolean(NaN) = false
boolean('hello') = true
boolean('') = false

Xpath中的 上限 函数:
number ceiling(number)
ceiling(2.5) = 3
ceiling(-2.3) = -2
ceiling(4) = 4
返回大于参数值的最小int值


number floor(number) 返回小于参数值的最大int值
floor(3.5) = 3
floor(-1.3) = -2
floor(4) = 4

Xpath中的 四舍五入 函数 :
number round(number)
round(2.6) = 3
round (2.4) = 2
round(2.5) = 3
round(-1.6) = -2
round(-1.5) = -1
返回最接近参数值的int值

Xpath中的 ToString 函数:
string string(object?)
将对象转换为字符串

position() 当前节点索引值(从1开始)
count(node-set) 对应节点个数
id(object) 工具唯一标识选择节点对象
last() 返回上下文的大小或总数(最后一行)
local-name(node-set?) 节点标识名
name(node-set?) 包含namespace的节点名

 

http://hi.baidu.com/yandavid/blog/item/0ccaaade0563f352cdbf1acb.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值