XPath 1.0 学习笔记
作者:快乐笛子 来源:快乐笛子的博客 时间:2009-02-25 12:19:00
W3C 发布 XPath 1.0 规范是在 1999 年,那时我还正在备战高考,不料十年后,我才开始学习XPath,落后的差距不是一般的大(暴汗),而 XPath 2.0 规范草稿也于 2005 被提出,并有文章透露 XPath 2.0 目前正在 W3C 审核过程的最终阶段。路漫漫其修远兮~
幸好 XPath 1.0 内部的函数比较少,也比较简单,下面就逐一罗列并笔记之:
String | concat(str0,str1[,str2,...]) | 字符串连接函数,返回每个传入参数的连接结果(至少要有两个参数)。 |
---|---|---|
contains(str0,str1) | 如果 str0 包含 str1 返回 true 否则返回 false 。 | |
string(n) | n 可以布尔表达式,节点集或者数字,返回它们的字符串值(字符串转换函数,类似于 toString())。 | |
string-length([str]) | 返回字符串 str 的长度。如果 str 被忽略,则返回当前节点值的字符串长度。 | |
substring(str,offset[,len]) | 截取字符串函数。该函数与 php 的 substr 函数一样。第二个参数是开始截取的位置,第三个参数是需要截取的长度,如果忽略第三个参数,则默认截取到字符串的结尾。 | |
substring-after(str0,str1) | 从 str0 的左端开始查找,在第一个 str1 的位置开始截取到字符串结尾,不包括 str1 。如果 str0 不包括 str1 则返回空字符串。 | |
substring-before(str0,str1) | 从 str0 的左端开始截取,在第一个 str1 的位置结束,不包括 str1 。如果 str0 不包含 str1 ,则返回空字符串。 | |
translate(str0,str1,str2) | 字符串翻译函数。str1 与 str2 建立了一个简单的字符串映射字典。它们的关系是安装字符的先后顺序一一对应映射的。比如 translate("misshjn","mnh","MN") 返回值是 MissjN。第二个参数中的第三个字符j,在第三个参数中找不到与之对应的映射字符,即存在空字符串与j对应,因此在结果中j可以看做被一个空字符替换了。如果第二个参数比第三个参数短,那么第三个参数多出来的部分将被忽视。 | |
start-with(str0,str1) | 如果 str0 以 str1 开头,则返回 true,否则为 false。 | |
normalize-space([str]) | 整理空白字符。它既把字符串左右两端的空白字符去除,还会把字符串中间连续多个的空白字符替换为一个空白符。如果 str 被忽略,则取当前节点值。此函数在文章录入时尤为有用。 | |
Number | number([object]) | 函数参数依下列各项转换成数字:
|
sum(node-set) | 节点集求和函数。 | |
floor(number) | 返回小于或等于 number 的最大整数。比如 floor(2.8) => 2,floor(1.1) => 1。(不管小数多少,都砍掉) | |
ceiling(number) | 返回大于或等于 number 的最小整数。比如 ceiling(2.8) => 3,ceiling(1.1) => 2。(不管小数多少,都进上去) | |
round(number) | 四舍五入函数。 | |
Boolean | boolean(object) | 返回计算布尔结果。object 有以下几种情况:
|
true() | 返回 true | |
false() | 返回 false | |
not(boolean) | 返回相反的状态。如果boolean为true,返回值为false,否则返回true。 | |
lang(str) | 返回当前节点的语言是否与 str 一致。 | |
Node-Set | count(node-set) | 返回节点集中的节点数目。node-set 其实就是 XPath 表达式。 |
position() | 返回当前节点在其兄弟节点中的位置(序号),由 1 开始计数。 | |
last() | 返回当前节点集中最后一个节点的位置。实际上就是所有兄弟节点的总数。 | |
name(node-set) | 返回 node-set 的节点名称,即 tagName。 |
标签:XPath,学习,笔记,xml
0
投稿
猜你喜欢
如何实现在下拉菜单里输入文字?
2010-06-03 10:31:00
也说说语义
2009-12-29 13:04:00
小诀窍让你快速上手Dreamweaver
2007-12-03 11:35:00
ASP Recordset 分页显示数据的方法(修正版)
2011-04-10 10:42:00
SQL语句中的一些特殊参数如何用变量来代替
2008-03-14 07:44:00
网站鼠标变变变!
2010-10-20 20:09:00
教你快速掌握数据库查询优化的实用技巧
2008-11-28 15:10:00
简单介绍各种浏览器中的本地存储方法
2012-04-26 16:37:34
用css制作星级投票评分功能
2008-01-08 21:12:00
SQL Server中单引号的两种处理技巧
2008-05-23 13:30:00
操作设计要素
2011-03-04 16:23:00
mysql proxy问题
2009-02-27 15:54:00
asp利用XmlHttp和Adodb.Stream采集图片
2007-12-06 18:42:00
asp网上购物车实例代码
2007-10-03 13:43:00
分支任务:从哪里来,回哪里去
2009-09-04 18:58:00
ASP应用之教你使用模板
2008-10-15 13:09:00
你是真正的用户体验设计者吗? Ⅲ
2008-03-27 09:04:00
fso怎样判断一个盘上是否有文件
2007-09-26 12:35:00
conn.execute(sql)后面加(0)和不加的区别
2009-06-24 11:13:00
Bad Tags — html有害的标签
2008-10-13 19:47:00