现在的位置: 首页 > 综合 > 正文

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

2018年05月22日 ⁄ 综合 ⁄ 共 2374字 ⁄ 字号 评论关闭

功能函数(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


抱歉!评论已关闭.