当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > XPath序列之一

ASP.NET
Asp.net利用JQuery弹出层加载数据代码
asp.net dataview做无限极分类的又一用法
asp.net ckeditor编辑器的使用方法
告别ADO.NET实现应用系统无缝切换的烦恼(总结篇)
asp.net 实现动态显示当前时间(不用javascript不考虑开销)
.net动态显示当前时间(客户端javascript)
asp.net 结合YUI 3.0小示例
asp.net 取消缓存相关问题说明
asp.net 计划任务管理程序实现,多线程任务加载
ASP.NET 跨页面传值方法
asp.net中url地址传送中文参数时的两种解决方案
Asp.net 菜单控件简洁版
asp.net jQuery Ajax用户登录功能的实现
asp.net SharpZipLib的压缩与解压问题
asp.net url重写后页面回传问题
asp.net与Discuz!NT整合集成实例教程
Discuz!NT 3与asp.net 整合的实例教程
测试控制台使用方法
.net 动态标题实现方法
asp.net *.ashx类型的文件使用说明

ASP.NET 中的 XPath序列之一


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 71 ::
收藏到网摘: n/a

前段时间因为学习的需要,整理了一下XPath和XQuery的基本资料,在查资料的过程中,觉得很痛苦,因为大陆这方面的资料实在太少了,用过之后就想放着也是放着,不如挂到网上吧。个人希望以后多挂一些这方面的资料。如果有时间,我会把XQuery的规范翻译过来——只是为了自己方便使用而已。


XPath查询语言


1. XPath简介

XPath也是由W3C创建的。在W3C的规范里,对XPath 1.0的描述是这样的:
“XPath 1.0是致力于为XSLT和XPointer的公共功能提供一种共同的语法和语义的结果。XPath的主要目的是对一个XML文档进行寻址。为了支持这个主要目的,它也为操纵字符串、数值和布尔值提供了一些基本的功能。XPath使用一种紧凑的、非XML的语法以方便URI和XML属性值里的XPath的使用。XPath在XML文档的一个抽象、逻辑结构上进行操作,而不是在它的表面上的语法上。XPath因为使用类似于URL的路径表示法来在一个XML文档的层次结构中进行导航而得名。”
“除了用来寻址外,XPath也被设计为包含一个能够用于匹配(测试一个节点是否与一个样式匹配)的自然子集,XPath的这种用法定义在XSLT的规范中。”

说到XPath,就要从XSLT说起。一直以来,人们就要求将数据的内容和数据的表示分离,达到这个目的的途径是使用一般的标记语言来格式化和使用数据。在这方面,W3C最开始设计了DSSSL(Document Style Semantics and Specification Language)规范,DSSSL原本是设计为与SGML协同工作的,然而,可惜的是SGML并没有流行起来。
XML流行起来以后,W3C创造了XSL(Extensible Stylesheet Language)来让用户格式化XML,但是,XSL本身太过复杂,这大大限制了它的用途,现在的那些大软件公司如微软使用CSS来格式化XML。

但是,XSL中有一个部分却很有用,那就是XSLT(Extensible Stylesheet Language Transformations),XSLT能够让用户很容易的访问XML文档中的数据,并且将其转换为另一种格式的文档,比如HTML格式的文档。因为能够用XSLT将XML文档转换为其他不同结构或包含额外数据的XML文档,你能够将XML转换为普通文本文件或者RTF文件甚至JavaScript文件,事实上,可以转换为任何你想要格式的文档。
在这里,XSLT表现出了它的强大威力,它能够处理XML数据而不用借助复杂的编程。你只需要创建一个XSLT处理器并且把剩下的事情交给这个处理器。因为这个原因,XSLT成功了,并且最终与XSL规范脱离开来。而当W3C开始创建XSLT 1.0时,他们马上意识到,让人们使用简单的路径表达式来访问XML文档中的数据是一个很好的主意,于是,XPath 1.0就这样诞生了。
XPath 1.0是XSLT 1.0的核心,事实上,这两个规范在同一天(1999年11月6日)成为W3C的推荐标准。XPath 1.0之所以能够脱离XSLT 1.0而单独成为一个规范是因为W3C意识到许多其它的XML规范也需要对文档的各个部分进行寻址访问。
作为一个独立的规范,XPath 1.0能够被许多XML相关的规范使用,如今,XPath已经是很多XML相关规范的核心了,比如XPointer,它让你选择并引用XML文档的片断,以及XQuery。

XPath的最新版本是XPath 2.0,它还是一个工作草案,W3C里的规范有3种主要的层次:
工作草案(Working drafts):表示规范仍然在开发当中,并且仍可能进行修订
候选推荐标准(Candidate recommendations):规范成为正式推荐标准之间的那个阶段
推荐标准(Recommendations):规范的最终阶段,表示规范已经稳定下来XPath 1.0是一个推荐标准,而XPath 2.0到目前为止仍然是一个工作草案。这说明新的版本比以前的版本有很大不同,而且以后还可能会有更大不同。--------------------------------to be continued------------------------------