在查询XML文档的深层次节点时,采用文档对象模型(Document Object Model,DOM)的编程方法需要大量的编码,处理起来颇为不便。一旦改动文档的结构,需要相应改动节点中导航的DOM代码,这类维护工具无疑是枯燥和低效的。为了减轻查询、维护文档代码的工作量,提供一个简洁有效地查询XML文档的途径,万维网联合会 提出了XML路径语言(XML Path Lanager,XPath)规范。
Xpath并不是只代替DOM查询、定位文档中的节点。在XSLT、XML Schema以及其它需要查询处理XML文档的场合,Xpath都得到广泛的应用。目前,Xpath技术已经成为畅通查询XML文档数据的必备条件之一。
基本知识
XML路径语言以”路径”的方式查询XML文档,其形式一般为”节点/子节点/第二级子节点”的形式,从外到里匹配了XML文档中的节点。
一、 XPath体现了XML的层次结构和线性结构
XML文档的元素嵌套结构类似于文件系统的目录-文件层次结构,下面实例演示了使用XML文档,表达文件系统目录层次结构。
<?xml version="1.0" encoding="GB2312"?>
<文件系统 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="complexType.xsd" 名称="系统盘">
<目录 创建时间="2005-04-28T09:30:47" 名称="Windows">
<目录 创建时间="2005-04-28T09:30:47" 名称="system32">
<文件 创建时间="2003-03-27T22:02:32" 名称="cmd.exe"/>
<文件 创建时间="2003-03-27T22:02:32" 名称="regedit.exe"/>
</目录>
<文件 创建时间="2003-03-27T22:02:32" 名称="winhelp.exe"/>
</目录>
<目录 创建时间="2005-04-28T09:30:47" 名称="Program Files">
<目录 创建时间="2001-12-17T09:30:47.0Z" 名称="Internet Explorer">
<文件 创建时间="2003-03-27T22:02:32" 名称="iexplore.exe"/>
</目录>
<目录 创建时间="2001-12-17T09:30:47.0Z" 名称="Outlook Express">
<文件 创建时间="2003-03-27T22:02:32" 名称="msimn.exe"/>
<文件 创建时间="2003-03-27T22:02:32" 名称="wab.exe"/>
<文件 创建时间="2003-03-27T22:02:32" 名称="wabmig.exe"/>
</目录>
</目录>
<目录 创建时间="2005-04-28T09:30:47" 名称="RECYCLER"/>
<文件 创建时间="2005-04-28T09:30:47" 名称="boot.ini"/>
<文件 创建时间="2003-03-27T22:02:32" 名称="bootfont.bin"/>
<文件 创建时间="2003-03-27T22:02:32" 名称="ntldr"/>
</文件系统>
用图-1表示XML文档结构和文件系统机构
在下一节中,将根据此图介绍XPath的层次结构和线性结构以及XPath的基本概念。
分享到:
相关推荐
官方离线安装包,亲测可用
离线安装包,亲测可用
- **XPath API**:用于在XML文档中定位元素和属性,提供了一种简洁的方式来查询XML数据。 - **XSLT API**:支持XML转换为其他格式,如HTML或PDF,基于XSLT(eXtensible Stylesheet Language Transformations)规范。...
在"JSTL-XML-Xpath"这个主题中,我们可以看到JSTL是如何集成XML处理和XPath查询的。JSTL的`<c:import>`和`<x:parse>`标签用于导入XML文档并将其解析为JDOM或DOM对象。接着,`<x:path>`标签可以用来执行XPath表达式,...
在本主题中,我们将深入探讨基于Xpath的XML文件查询和更新。 **Xpath基本概念** 1. **节点类型**:Xpath中的节点包括元素(element)、属性(attribute)、文本(text)、命名空间(namespace)、处理指令...
1、学习如何使用XMLSPY集成开发环境执行XPath查询、以及XSLT的数据转换。 2、理解XPath的类型系统和序列类型等相关概念,掌握XPath表达式语法和执行语义,能够熟练地、灵活地运用各种关系轴、判定谓词和XPath基本...
`py_dom_xpath_six`库可能提供了一种更便捷的方式来使用XPath查询,特别是在处理DOM树时。DOM允许程序以树形结构加载XML文档,而XPath则允许你以简洁的字符串表达式来选择XML文档中的节点。例如,你可以查找文档中...
LibXML实现了XPath 1.0规范,允许用户通过表达式查询XML结构。 3. **XSLT支持**:XSLT(eXtensible Stylesheet Language Transformations)用于转换XML文档。LibXML包含了XSLT处理器,可以将XML文档转换成其他格式...
libxml2是一个功能强大的XML解析库,它提供了XPath API,可以直接在XML文档上执行XPath查询。使用libxml2时,我们需要先用`xmlParseDoc()`解析XML,得到`xmlDocPtr`,然后调用`xmlXPathNewContext()`创建XPath上下文...
3. XMLDOM(XML文档对象模型):XMLDOM是XML文档的一种编程接口,它允许程序员通过JavaScript或其他支持的语言来创建、修改和查询XML文档。XMLDOM提供了遍历、查找、添加、删除XML节点的方法,使得在网页中动态操作...
本压缩包文件"xpath-helper.crx"很可能是一个Chrome浏览器的扩展程序,旨在提供实时的XPath查询支持。 XPath(XML Path Language)是一种在XML文档中查找信息的语言,它允许我们通过路径表达式来选取节点,如元素、...
XPath(XML Path Language)是一种在XML文档中查找信息的语言,主要用于选取XML文档中的节点,如元素、属性、文本等。XPath使用路径表达式来选取节点,类似于文件系统的路径。此外,XPath还提供了函数库,用于对节点...
在Java编程中,JDOM库是一个流行的解析和操作XML的工具,它提供了对XPath的支持,使得我们可以方便地通过XPath表达式来读取XML文档的节点。 首先,理解XPath的基本语法是非常重要的。XPath表达式由路径表达式组成,...
BIT-101 XPath Query Tool XML查询工具
这篇文档将围绕着标题中提到的六个关键技术领域——CSS(层叠样式表)、DHTML(动态超文本标记语言)、XMLDOM(XML文档对象模型)、T-SQL(Transact-SQL)、XPath(XML路径语言)以及正则表达式,展开详细的阐述。...
用户可以通过安装CRX文件(即`xpath-helper.crx`)来添加这个插件。XPath(XML Path Language)是一种在XML文档中查找信息的语言,它能够有效地选取XML或HTML文档中的节点,如元素、属性、文本等。 XPath Helper的...
3. **XML导航**:VTD-XML提供了一组API来实现XML文档的导航,如`AutoPilot`类,它允许用户通过XPath表达式或编程方式遍历XML结构。这使得开发者能够在不完全解析XML文档的情况下,对特定部分进行操作。 4. **XML...
Perl-XML-LibXML-Common 模块是基于LibXML库的,这是一个高性能的C语言实现的XML解析器,它提供了对XML标准的完整支持,包括XPath、XInclude、XML Schema和 Relax NG验证等特性。 Perl-XML-LibXML-Common 的主要...
在Java编程环境中,XPath是一种强大的查询语言,用于在XML文档中查找信息。它允许我们根据节点的名称、属性、值或其他特性来定位XML文档中的特定部分。本篇将深入探讨如何在Java中利用XPath来提取XML文档中的数据,...