- 6
- 0
- 约1.25万字
- 约 39页
- 2016-09-26 发布于江苏
- 举报
4 XPath XPath 是 W3C 制定的、用来在 XML 文档中进行导航和查询的路径表达语言,可以对 XML 文档层次结构中的相关元素节点及内容进行检索、定位。 半结构化文档可以被看成为一棵树,文档的根节点对应于 DOM 树的根节点,叶节点对应于空的元素节点或者是文本节点,DOM 树蕴含的信息通过树中节点数据及其节点之间的路径关系来进行描述。 针对这种半结构化树所进行的 XPath 查询将返回满足指定特征(包括节点特征和路径特征)的节点或以这样的节点为根的子树。 XPath 规范 W3C 对 XPath 2.0(最新的 XPath 规范)的介绍如下:它是一种描述型语言,可以对符合 XPath 数据模型(将在本章中进行介绍)的数据进行处理,这种数据模型提供了 XML 文档的树型表示,其中包括原子值(比如整数、字符串、布尔类型的值)和序列(可能包含对 XML 文档中节点的引用以及原子值)。 XPath 的应用 XPath 技术是一种 XML 数据处理的基本机制,还广泛地应用于其他各个领域。 第 3 章 XML Schema 中介绍 key 和 keyref 元素时,就使用到了 XPath。另外,在 XQuery、XPointer、XLink 等规范中也都需要使用 XPath。 4.1 XPath 中的数据模型 在 Unix中,常说“任何东西都是一个文件(Everything is a file)”,在 Java 中,常说“任何东西都是一个对象(Everything is an object)”,而在 XPath 中,则可以说“任何值都是一个序列(Every value is a sequence)”。 在 XPath 2.0 中,每个表达式的结果值都是由 0 个或者多个项(item)组成的一个序列。 4.1.1 序列(Sequence) 序列(Sequence)是 W3C 在 XPath 2.0 中引入的一个新的概念。 XPath 1.0 仅支持节点集(Node sets),它表示由无重复的多个节点构成的无序的集合,而 XPath 2.0 中的序列表示有序的、可包含重复值(节点和原子值)作为项的集合。 (a, b, c) 在 XPath 2.0 中与 (c, b, a) 是不相同的两个序列,序列相等的条件是其中包含的项的个数相等,并且对应位置的项相等。 序列的 UML 类图表示 实际上序列是一个递归的概念: 序列是由 0 个或者多个项(item)组成的集合,并且是有序的集合; 项本身也可以是一个序列,或者是原子值或节点; 序列:有序的集合 序列是一个有序的集合,并且序列中的每个项都具有一个对应的位置参数(position)。 序列S中的第一个项的位置为 1,依次类推,可以使用 count($S) 来计算序列 S 中项的个数(即序列的长度),可以使用 $S[i] 来访问序列 S 中的第 i 项(就好像通过下标来访问数组中的元素一样),可以用 position() 函数来确定当前项目在序列中所处的位置。 序列计算表达式 ①.序列构造表达式 ②.序列筛选表达式 ③.序列组合表达式 XPath 文档树模型 在 XPath 中,将 XML 文档作为一颗逻辑上的文档树进行处理,以便通过路径对其中的节点进行寻址。这种文档树中一共包含其中类型的节点:文档节点(Document node)、元素节点(Element Nodes)、属性节点(Attribute Nodes)、文本节点(Text Nodes)、命名空间节点(Namespace Nodes)、处理指令节点(PI Nodes)、注释节点(Attribute Nodes)。 示例 XML 文档的文档树 节点的属性——节点的名称(Node Name) 一般说来,文档树中的每个节点都应该有一个名称,这个名称可以是简单的本地名称、或者使用命名空间名称进行限定的完整名称。在 XPath 中,提供了一个 node-name() 函数,它可以返回指定节点的名称。 对于元素节点,node-name() 函数将返回元素的标记;对于属性节点,该函数将返回属性的名称;对于处理指令节点,该函数将返回处理指令的名称;对于命名空间节点,该函数将返回命名空间的前缀。但是,对于文档节点、注释节点、文本节点,它们是没有名称的,所以 node-name() 函数将一个空序列。 节点的属性——节点的字符串值(String Value) 每个节点都具有一个字符串值,实际上就是针对该节点使用 XPath 中的 string( ) 函数所得到的字符串结果。 对于文本节点,其字符串值就是该文本节点的内容;对于属性节点,其字符串值就是该属性的取值。对于元素节点,
您可能关注的文档
- 7章工件材料的切削加工性课程.ppt
- 5S改善提案教材课程.ppt
- 第三章生产率概述课程.ppt
- 6S基础知识课程.ppt
- 爱康信息系统规划及第一期目标课程.ppt
- 成本会计第三章课程.ppt
- 背光模组机构不良介绍(NB)课程.ppt
- 邦定技能培训(理论部分)课程.ppt
- logistics08课程.ppt
- 第6章+信息技术与课程整合模式与实践课程.ppt
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
最近下载
- 塔吊工作安全培训内容课件.pptx VIP
- 2024-2025学年天津市部分区七年级(上)期末历史试卷(含答案).docx
- 天津大学物理化学教学课件ppt合集.pptx
- 土豆种植时间和方法.doc VIP
- SMAR公司DT301密度计说明书.pdf
- 2、高鸿业宏观经济学教案.doc VIP
- 高杆灯取电照明装置.pdf VIP
- Unit 2 Expressing yourself Part B let's learn 教案 三年级英语下册 人教PEP版.docx VIP
- 【通用】马年猜猜乐PPT(猜成语)打印版【课件】.pptx
- PDCA循环-提高手术间无菌物品定位放置规范率PPT优秀案例.pptx
原创力文档

文档评论(0)