由于项目需要,自己学习了一下xpath的相关知识,就把这些简单的整理一下,下面的是xpath的入门以及使用,方便需要的朋友们.
1.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命名空间[XMLNames]。这样,节点的名字被建模成由一个局城部分和可能为空的命名空间 URI组成的对;这被称为扩展名。
2.XPath的基本语法
首先XPath返回的类型有以下几种:
1:节点集合(无序的、无重复的节点集合)
2:布尔(真或假)
3:数字(一个浮点数字)
4:字符串(UCS字符的顺序)
XPath的地址路径
地址路径是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[@secretaryand@assistant]选择上下文节点的所有既有secretary属性又有assistant属性的employee孩子
chpater[title]选择的上下文节点中有一个或一个以上title孩子的chpater孩子
1:child是缺省轴。例如,地址路径div/para是child:XSL教程:学会如何使用XPath入门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子孙.
这里面是xpath的一些详细介绍和用法:
http://msdn.microsoft.com/en-us/library/ms256115(VS.85).aspx
分享到:
相关推荐
因此,无论是XML解析还是MyBatis的使用,XPath都是一个不可或缺的知识点,对于初学者来说,掌握XPath的入门知识是迈入这个领域的第一步。通过实际的练习和项目实践,可以进一步提升对XPath和MyBatis的运用能力。
4. **变量(Variables)**:XSLT允许声明并使用变量来存储值,这可以是XML文档的一部分或计算结果。变量在模板中可以被重用,提高代码的可读性和效率。 5. **函数(Functions)**:XPath提供了一系列内置函数,如...
文件中提及的标题为"C# XML入门经典.pdf",说明这本书籍主要面向的是已经具备一定C#编程基础,但是对XML技术尚缺乏了解的开发人员。描述中对PDF格式的强调,并没有提供额外的信息,而标签"XML"则点明了书籍的技术...
C# XML入门经典——C#编程人员必备的XML技能 作者:[美]Stewart Fraser, Steven 著,毛尧飞,崔伟 译 出版社:清华大学出版社 出版时间:2003年11月 第1章 在C#中使用XML的原因 <br>1.1 使用XML的原因...
《XML入门经典(第4版)》能帮助您快速从XML的基础知识提升到更为高级的编程技术中,您将深入钻研XML和数据库的使用艺术,包括如何查询XML信息、检索XML数据和创建新的XML文档等等。此外,您还将学会如何在Web上发布...
本资源是“XML编程从入门到精通”PDF书籍,旨在帮助初学者快速掌握XML的基础知识和实际应用技巧。 XML的基本结构: XML文档由元素构成,每个元素都有开始标签和结束标签,如 `<element>` 和 `</element>`。元素...
### XSLT与XPath入门:转换XML文档与数据 #### 一、XSLT与XPath基础知识 **XSLT(Extensible Stylesheet Language Transformations)**是一种基于XML的标准语言,用于将一个XML文档转换成另一种XML文档或者HTML...
这个“XML支持库入门教程”压缩包显然旨在帮助初学者理解和掌握XML的相关知识,以及如何利用特定的支持库来处理XML文档。下面我们将深入探讨XML的基本概念、XML文档结构、解析和生成XML的方法,以及易语言中的XML...
本资源“C-#XML入门经典随书源码”提供了一套学习C# XML编程的基础材料,旨在帮助初学者快速掌握如何在C#环境中利用XML。这本书可能涵盖了以下几个核心知识点: 1. **XML基础**:介绍XML的基本结构和语法规则,包括...
这个压缩包文件提供了一个很好的XML入门教程,适合初学者进行学习和实践。以下是一些关于XML的基础知识和关键概念: 1. **XML的定义**:XML是一种可扩展的标记语言,与HTML类似,但其设计目标是为了传输和存储数据...
在"XML编程从入门到精通"这本书中,你将深入学习XML的基础知识和高级应用。首先,你会了解到XML的基本结构,如元素、属性、文本内容以及注释等。XML文档的结构必须遵循严格的规则,比如元素必须正确关闭,属性值必须...
4. **XPath查询**:XPath是用于在XML文档中查找信息的语言,教程会介绍如何在易语言中使用XPath表达式来选取XML文档中的特定部分。 5. **DOM与SAX模型**:解析XML有DOM(Document Object Model)和SAX(Simple API ...
QT35-C# XML入门经典源代码全集是一份针对初学者和开发者设计的资源,旨在帮助他们理解和掌握XML(可扩展标记语言)在C#编程环境中的应用。XML是一种广泛应用的数据交换和存储格式,因其结构化、自描述性而备受青睐...
《易语言XML支持库入门教程》是一本专为初学者设计的教程,旨在帮助读者快速掌握易语言中XML支持库的使用方法。XML(Extensible Markup Language)是一种用于存储和传输数据的标记语言,它在软件开发中起着至关重要...
《C# XML入门经典》是一本专为初学者设计的编程教材,主要涵盖了C#语言与XML(Extensible Markup Language)的基础知识。XML作为一种数据交换和存储格式,被广泛应用于各种软件开发中,包括Web服务、数据库交互以及...
综上所述,C# XML入门经典涵盖了从XML基本概念到高级应用的诸多方面,包括XML的解析、操作、序列化、配置文件、Web服务以及与数据库的集成。掌握这些技能将极大地提升C#开发者在数据处理和系统集成中的能力。通过...
### XSLT与XPath基础知识:转换XML文档与数据 #### 引言 随着XML内容管理应用的迅速增长,XSLT(可扩展样式表语言转换)与XPath的需求也在不断提升。对于许多开发者而言,掌握XSLT处理模型并不容易。本书...