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

ASP.NET
Internet Explorer 编程简述(二)在IE中编辑OLE嵌入文档
移动窗体
.NET 2.0获取数据库连接统计数据
VB.NET 拖动无边框的窗体
利用WH_CBT Hook将非模态对话框显示为模态对话框
Aspect#应用 - 权限验证
VB 从零开始编外挂(一)
【错误解决】Unable to find script library 'WebUIValidation.js'
VB 从零开始编外挂(四)
DTD指南(3)-DTD-Elements(元素)
知识库文章MDL9745154-File:Microsoft Visual Basic 运行时库
.net手机软件开发(六)OBEX应用:文件传输部分
在winform中使用WebBrowser控件时怎样去除IE的滚动条
WINZIP及WINRAR命令!!!!!
智能客户端相关Application Block结构功能分析(二)
如何在VB中操作EXCEL(一段代码,两个可以使用的过程)
在C#中用最简洁有效的代码执行存储过程并返回数据
.Net的Collection类的一些使用说明
ASP.NET实现数据图表c
用asp.net画饼图

ASP.NET 中的 XPath序列之一


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 228 ::
收藏到网摘: 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------------------------------