源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

xpath的数据和节点类型以及XPath中节点匹配的基本方法

  • 时间:2021-08-02 01:35 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:xpath的数据和节点类型以及XPath中节点匹配的基本方法
[b]XPath数据类型[/b]   XPath可分为四种数据类型:   节点集(node-set)   节点集是通过路径匹配返回的符合条件的一组节点的集合。其它类型的数据不能转换为节点集。   布尔值(boolean)   由函数或布尔表达式返回的条件匹配值,与一般语言中的布尔值相同,有true和 false两个值。布尔值可以和数值类型、字符串类型相互转换。   字符串(string)   字符串即包含一系列字符的集合,XPath中提供了一系列的字符串函数。字符串可与数值类型、布尔值类型的数据相互转换。   数值(number)   在XPath中数值为浮点数,可以是双精度64位浮点数。另外包括一些数值的特殊描述,如非数值NaN(Not-a-Number)、正无穷大 infinity、负无穷大-infinity、正负0等等。number的整数值可以通过函数取得,另外,数值也可以和布尔类型、字符串类型相互转换。   其中后三种数据类型与其它编程语言中相应的数据类型差不多,只是第一种数据类型是XML文档树的特有产物。 [b]XPath节点类型[/b] 由于XPath包含的是对文档结构树的一系列操作,因此搞清楚XPath节点类型也是很必要的。在XML文档的逻辑结构,一个 XML文件可以包含元素、CDATA、注释、处理指令等逻辑要素,其中元素还可以包含属性,并可以利用属性来定义命名空间。相应地,在XPath中,将节点划分为七种节点类型:   根节点(Root Node)   根节点是一棵树的最上层,根节点是唯一的。树上其它所有元素节点都是它的子节点或后代节点。对根节点的处理机制与其它节点相同。在XSLT中对树的匹配总是先从根节点开始。   元素节点(Element Nodes)   元素节点对应于文档中的每一个元素,一个元素节点的子节点可以是元素节点、注释节点、处理指令节点和文本节点。可以为元素节点定义一个唯一的标识id。元素节点都可以有扩展名,它是由两部分组成的:一部分是命名空间URI,另一部分是本地的命名。   文本节点(Text Nodes)   文本节点包含了一组字符数据,即CDATA中包含的字符。任何一个文本节点都不会有紧邻的兄弟文本节点,而且文本节点没有扩展名。   属性节点(Attribute Nodes)   每一个元素节点有一个相关联的属性节点集合,元素是每个属性节点的父节点,但属性节点却不是其父元素的子节点。这就是说,通过查找元素的子节点可以匹配出元素的属性节点,但反过来不成立,只是单向的。再有,元素的属性节点没有共享性,也就是说不同的元素节点不共有同一个属性节点。   对缺省属性的处理等同于定义了的属性。如果一个属性是在DTD声明的,但声明为 #IMPLIED,而该属性没有在元素中定义,则该元素的属性节点集中不包含该属性。   此外,与属性相对应的属性节点都没有命名空间的声明。命名空间属性对应着另一种类型的节点。 命名空间节点(Namespace Nodes)   每一个元素节点都有一个相关的命名空间节点集。在XML文档中,命名空间是通过保留属性声明的,因此,在XPath中,该类节点与属性节点极为相似,它们与父元素之间的关系是单向的,并且不具有共享性。   处理指令节点(Processing Instruction Nodes)   处理指令节点对应于XML文档中的每一条处理指令。它也有扩展名,扩展名的本地命名指向处理对象,而命名空间部分为空。   注释节点(Comment Nodes)   注释节点对应于文档中的注释。 [b]  一个XML文档树[/b]   我们来构造一棵XML文档树,作为后面举例的依托:
[url=http://msdn.microsoft.com/en-us/library/ms256115(VS.85).aspx]http://msdn.microsoft.com/en-us/library/ms256115(VS.85).aspx[/url]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部