All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
C#教程:C#发展历程以及特点
asp.net显示下载提示的下载网页程序_[Asp.Net教程]
ASP.NET Remoting体系结构(四)
Transact_SQL小手册(各种sql语句大集合)_[SQL,Server教程]
asp.net2.0母版页嵌套使用实例
SQL,Server,2005—数据库管理10个最重要的特点_[SQL,Server教程]
漫谈Ajax在ASP.Net中的使用_[Asp.Net教程]
让Apache支持ASP.NET-Apache,ASP.NET_.net资料_编程技术
ASP.NET,应用中大文件上传研究_.net资料_编程技术
利用ASP.NET,2.0的客户端回调功能制作下拉框无限级联动_[Asp.Net教程]
Reading number is top 10 pictures
Summer is most suitable for young people to travel in China8
The wise woman of chest1
The real super beauty12
Absolutely shocked. National geographic 50 animal photographys1
关于提肛的健身效果
陪睡门马睿菈自曝写真 称首拍大尺度照片1
Nine school beauty star those gossip matters
Beautiful vacuum girl3
运动的范冰冰2
真正的国产-非模拍 贵在是真实1
Download software ranking
Red cliff
Tram sex maniac 2 (H) rar bag17
软件工程思想
matrix1
Rio big adventure
SP3 for SQL2000
Ashlynn Video5
jdk1.5
Tram sex maniac 2 (H) rar bag16
株洲本地在线棋牌游戏
归海一刀 published in(发表于) 2014/3/20 5:14:33 Edit(编辑)
XSL教程:学会如何使用XPath入门_[XML教程]

XSL教程:学会如何使用XPath入门_[XML教程]

XSL教程:学会如何使用XPath入门_[XML教程]

什么是XPath


XPath(可扩展路径) 是给 XSL 转换[XSLT]和 XPointer [XPointer]的共享功能提供一个共用的句法及语义的结果。XPath的主要的目是用于对 XML 文档元件寻址。在支持这个主要目的的同时,它也为字符串,数字和布尔的操作提供了基本手段。XPath 使用简明的、非 XML 句法以便於在 URIs 和 XML 属性值以内使用 XPath,XPath 对 XML 文档的抽象的、逻辑的结构而非它的表面句法进行操作,XPath 的名字源于它在 URL 中用作对 XML 文档的层次的结构进行导航一个路径标志。
除了用做寻址外,XPath 也被设计成以便它有能被用于匹配的一个自然的子集(测试一个节点是否匹配一个模式);XSLT中描述了 XPath 在这方面的使用。
XPath 将一个 XML 文档建模成为一棵节点树,有不同类型的节点,包括元素节点,属性节点和正文节点。XPath 定义了一种方法来计算每类的节点的字串值。一些节点的类型也有名字。XPath 充分支持 XML 命名空间[XML Names]。这样,节点的名字被建模成由一个局城部分和可能为空的命名空间 URI 组成的对;这被称为扩展名。

XPath返回的类型

1:节点集合(无序的、无重复的节点集合)
2:布尔(真或假)
3:数字(一个浮点数字)
4:字符串(UCS 字符的顺序)

地址路径


地址路径是Xpath用于定位的一条语句
,基本的语法如下:
/ 选择XML文档的根结点
/* 选择根结点的所有子节点,
*匹配任意子节点
/x 选择根结点的所有x元素
//book 选择根结点的所有后代节点中的book元素
//@id 选择含有id属性的子节点
para[1] 选择上下文节点的第一个 para 孩子
//vendor[@id='id1_2']/book 选择符合“属性id=’id1_2’”的所有book元素
/bib/vendor/book[year>2002] 选择符合“元素year>’2002’”的所有book元素
text() 选择上下文节点的所有的正文节点孩子
@name 选择上下文节点的 name 属性
@* 选择上下文节点的所有的属性
*/para 选择上下文节点的所有的 para 孙子
/doc/chapter[5]/section[2] 选择doc的第五个 chapter 的第二个 section
.//para 选择上下文节点的 para 元素子孙
para[@type="warning"] 选择的上下文节点的所有的有属性 type 且值为 warning 的 para 孩子
chapter[title="Introduction"] 选择上下文节点的 chapter 孩子如果它有一个或多个 title 孩子且字串值为 Introduction
employee[@secretary and @assistant] 选择上下文节点的所有既有 secretary 属性又有 assistant 属性的 employee 孩子
chpater[title] 选择的上下文节点中有一个或一个以上 title 孩子的 chpater 孩子


1:child 是缺省轴。例如,地址路径 div/para 是 child:iv/child::para 的缩写。
2:属性也有缩写形式: attribute:: 能被缩写成 @。例如,地址路径 para[@type="warning"] 为 child::para[attribute::type="warning"] 的缩写,也就是选择有 type 属性且属性值为 warning 的 para 孩子。
3:// 是 /descendant-or-self::node()/ 的缩写。例如,//para 是 /descendant-or-self::node()/child::para 的缩写,因此选择文档中所有的 para 元素(即使 para 元素是文档元素,也会被 //para 所选择,因为文档元素是根节点的孩子); div//para 是 div/descendant-or-self::node()/child::para 的缩写,因此将选择 div 孩子的所有 para 子孙

核心函数库

节点集合函数

last()返回一个数字,该数字等于从表达式求值上下文中的上下文大小
position()函数返回一个数字,该数字等於从表达式求值上下文中的上下文位置
count(node-set)函数返回在参数node-set中节点的个数
id(object)通过元素的唯一的ID选择他们
local-name(node-set?)返回一个节点的扩展名的局域部分
namespace-uri(node-set?)返回依照文档顺序参数节点集合中的第一个节点的扩展名的命名空间 URI,除了元素节点和属性节点外函数 namespace-uri 返回的字符串将为空
name(node-set?)返回一个字符串,字符串包含一个QName,它代表依照文档顺序参数节点集合中的第一个节点的扩展名,除了元素节点和属性节点外,由 name 函数返回的字符串将与 local-name 函数返回的字符串一样

字符串函数

string(object?)函数将对象转换成字符.
concat(string, string, string*) 函数返回它的参数的联结
starts-with(string, string)如果第一个字符串参数以第二个字符串参数起头,starts-with 函数返回真,否则,返回假
contains(string, string)如果第一个字符串参数包含第二个字符串参数,contains 函数返回真,否则,返回假
substring-before(string, string)函数返回第一个字符串参数在第二个参数首次出现之前的子字符串,或者,如果第一个字符串参数不包含第二个字符串参数则返回空字符串。例如,substring-before("1999/04/01","/") 返回 1999
substring-before(string, string)函数返回第一个字符串参数在第二个参数首次出现之前的子字符串,或者,如果第一个字符串参数不包含第二个字符串参数则返回空字符串。例如,substring-before("1999/04/01","/") 返回 1999
substring( string , number , number? )函数返回第一个字符串参数从第二个参数所指定的位置开始,以第三个参数为长度的子字符串。例如, substring("12345",2,3) 返回 "234"。如果没有第三个参数,则返回从第二个参数所指定的位置开始直到结束。例如, substring("12345",2) 返回"2345"
string-length( string? )返回字符串中字符的个数
normalize-space(string?)函数返回空白符规范化 后的参数字符串,该规范化是清除领头及结尾的空白字以及用一个空白符替换连续的空白符
translate(string, string, string)函数返回第一个参数的字符串,其中有在第二个参数中出现的字符都被在第三个参数中相对应位置的字符所替换。例如,translate("bar","abc","ABC") 返回字符串 BAr。如果,第二个参数里的字符在第三个参数的相对应位置没有字符(因为第二个参数里的字符串比第三个参数的字符串长),那么,第一个参数里的那个字符将被移去。例如,translate("--aaa--","abc-","ABC") 返回 "AAA"。如果在第二个参数里的字符出现超过一次,那么,第一次的出现决定替换的字符。如果第三个参数里的字符串比第二个参数的字符串长, 那么,多余的字符将被忽略

布尔函数
boolean(object)
not(boolean)
true()
false()
lang(string)

数字函数
number(object?)函数参数依下列各项转换成数字
sum(node-set)对於在参数节点集合的每个节点,sum 函数返回节点字串值转换成数字后的和
floor(number)函数返回不大於参数的整数的最大数 (最接近于正无穷大)
ceiling(number)函数返回不小於参数的整数的最小数 (最接近于负无穷大)
round(number) 函数返回最接近于参数的整数。如果有两个这样的数字,那么,返回最接近于正无穷大的那个。如果参数是 NaN,那么返回 NaN。如果参数是正无穷大,那么返回正无穷大。如果参数是负无穷大,那么返回负无穷大。如果参数是正零,那么返回正零。如果参数是负零,那么返回负零。如果参数小於零,但大於或等於 -0.5 ,那么返回负零。

参照规范

XML See See http://www.w3.org/TR/1998/REC-xml-19980210
XML Nameshttp://www.w3.org/TR/REC-xml-names

XSLT See http://www.w3.org/TR/xslt






添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.