当前位置导航:炫浪网>>网络学院>>编程开发>>Visual C#教程

C#发现之旅第二讲_C#-XSLT开发

 为了让大家更深入的了解和使用C#,我们开始这一系列的主题为“C#发现之旅”的技术讲座。考虑到各位大多是进行WEB数据库开发的,而所谓发现就是发现我们所不熟悉的领域,因此本系列讲座内容将是C#在WEB数据库开发以外的应用。目前规划的主要内容是图形开发和XML开发,并计划编排了多个课程。在未来的C#发现之旅中,我们按照由浅入深,循序渐进的步骤,一起探索和发现C#的其他未知的领域,更深入的理解和掌握使用C#进行软件开发,拓宽我们的视野,增强我们的软件开发综合能力。

本系列课程配套的演示代码下载地址为 http://www.cnblogs.com/Files/xdesigner/cs_discovery.zip 。

本课程说明

本课程介绍XPath和XSLT的基本概念,并介绍了如何在C#中使用这些技术。

XPath 介绍

    XPath 是从 XML 基础规范上派生的技术,专门用于快速检索和查询 XML 文档,使用方便,功能强大, XPath 也是 XSLT 技术的基础。

    XPath W3C 国际标准组织定义的用于在单个 XML 文档中快速检索和定位 XML 文档节点的规范,它也是跨平台的,若一些软件支持 XPath ,则必然是支持标准的 XPath 语法。因此无论是 JAVA 还是 C# 都是支持相同语法的 XPath

    我们理解 XPath 时可以参考文件目录结构 FilePath ,在 Windows 资源管理器左边的文件目录树状列表中,可以看到各种文件对象,包括磁盘根目录,各级文件目录等等,它们共同构成了一个树状结构,我们选择对象时既可以在这个树状结构中一个个查找,也可以指定路径名来进行快速定位,文件系统的路径名采用斜杠号来分隔各个目录层次的目录名。比如在这个示意图中,我们选中的目录,可以使用路径名 c:\documents and settings\ 袁永福 来快速定位。

    而 XML 文档中也是这种树状层次结构,因此我们也可以套用这种文件路径名的概念到 XML 文档中,于是形成了 XPath 路径。我们处理 XML 文档时可以一层层查找所需的 XML 节点,也可以指定 XPath 路径字符串来快速定位 XML 节点。在 XPath 路径中,我们使用反斜杠符号来分隔各个层次的 XML 元素的名称。

    在文件目录系统中,我们可以可以使用绝对路径名,也可以使用相对路径名,我们可以使用一个点号表示当前目录,使用两个点表示父目录。在 XPath 中我们也套用了类似的概念,我们从 XML 文档根节点出发而指定的 XPath 路径为绝对路径,从某个 XML 节点开始转到其它节点所经过的路径为相对路径,我们也使用一个点表示当前节点,也使用两个点来表示父节点。其实我们可以将绝对路径看成从根节点出发的相对路径。

    在这个示意图中,第一个选中的节点可以使用 XPath 路径“ Table/Record/Country ”来快速定位。

    在文件目录系统中,同一个目录下面不能有相同名称的对象,因此相对路径名和绝对路径名都能准确的定位到一个目录上,而在 XML 文档中,同一个 XML 节点下可以存在多个具有相同名称的子节点,因此 XPath 路径可能无法唯一的确定一个 XML 节点。此时 XPath 采用了内嵌条件判断语句的方法来解决这个问题。 XPath 路径字符串中可以使用一对方括号来包含一个逻辑表达式,在这个表达式中可以使用字符串判断,数学四则运算,逻辑判断和一些预定义函数,而且 XPath 路径中每个层次都能包含表格式,因此 XPath 的逻辑判断的功能是非常强大的。

    在示意图中,我们使用 XPath 路径 Table/Record[CustomerID=’ANATR’]/Phone 来快速定位第二个节点,此处使用了一段方括弧包含了一个逻辑表达式。表示查找某个节点,该节点下的 CustoemrID 子节点的文本值等于 “ANATR”

    XPath 是一种国际标准,但在微软的 .NET 框架当然支持这个国际标准。我们可以使用 .NET 类库中的 System.Xml.Xsl.XslTransform 类型来执行 XSLT 转换。这个类型除了支持标准的 XPath 外,还进行一些扩展,主要是能扩展使用开发者自己定义的函数。

    使用 XPath ,我们可以很方便的搜索 XML 文档中的任何部分,因此具有很好的数据检索分析功能,近期业界兴起的半结构化文档技术大多就是以 XPath 为基础的。

    由于 XPath 技术是相当强的,而且是国际标准,跨平台的,因此大家有时间好好学习使用它。对于 XPath 的详细语法可访问网站 http://www.w3.org/TR/xpath ,若大家安装了 MSDN2003 版,也可参考 MSDN Library/XML Web Services/XML 核心 /SDK 文档 /MSXML4.0 SDK/XPath Reference 。这些电子文档全是英文,大家也可以购买一些专门讲述 XML 技术的中文书籍看看。

 

共5页 首页 上一页 1 2 3 4 5 下一页 尾页 跳转到
相关内容
赞助商链接