探讨.Net框架下的XML编程技术
摘 要:众所周知XML是微软.Net战略的一个重要组成部分,而且它可谓是XML Web服务的基石,因此掌握.Net框架下的XML技术就显得非常重要。在此我们要简单了解.NET框架下编程操作XML文档的三种方式;有关.NET框架的相关知识;.Net框架中与XML相关的命名空间和其中的重要类。
关键词:.NET;XML;框架;编程操作
.NET 是 Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。
一、.NET框架的简单介绍以及它的组成部分
.NET框架是一个多语言组件开发和执行环境,它提供了一个跨语言的统一编程环境。
.NET框架的目的是便于开发人员更容易地建立Web应用程序和Web服务,使得Internet上的各应用程序之间,可以使用Web服务进行沟通。
从层次结构上来分析,.NET框架又包括三个主要组成部分:公共语言运行时(CLR:Common Language Runtime)、服务框架(Services Framework)和上层的两类应用模板——传统的Windows应用程序模板(Win Forms)和基于的面向Web的网络应用程序模板(Web Forms和Web Services)。
公共语言运行时(CLR),是一个运行时环境,管理代码的执行并使开发过程变得更加简单。CLR是一种受控的执行环境,其功能通过编译器与其它工具共同展现。在CLR之上的是服务框架,它提供了一套开发人员希望在标准语言库中存在的基类库,包括集合、输入/输出、字符串及数据类。
二、在.NET框架下,对XML文档编程操作的三种方式:
1、使用Xml Text Reader和Xml Text Writer基于流的编程
基于流的XML处理方法有两种:基于拉的解析器和基于推的解析器(SAX)。.NET下只有基于拉的解析器。
它的使用是对XML文件的控制能力最强,效率较高;但是在使用的时候编码较为繁琐,需要同时使用Xml Text Reader和Xml Text Writer来读写XML。
2、使用Xml Document 基于DOM的编程
这个的在使用起来的时候比基于流的方法更容易操纵XML文档,同时该模型易于理解;但是DOM是XML文档在内存中的表述,占用内存多,运用时速度较缓慢。一般不推荐使用该方法。
3、混合式的XML序列化的方式
该方法是将XML和类进行映射,可以将类的实例序列化(Serialize)为XML,也可由XML反序列化(Deserialize)为类的实例。也就是解析与反解析。
三、.Net框架中与XML相关的命名空间和其中的重要类。
在深入进行.Net框架下的XML文档的操作之前,必须先了解.Net框架中与XML技术有关的命名空间和其中一些重要的类。
.Net框架为我们提供了以下和XML有关的命名空间:、、ization、 以及 来包容和XML操作相关的类。
1、命名空间包含的是最重要的XML类,最主要的类是和XML文档的读写操作相关的类。这种类中包含4个关于读的相关类和2个关于写的相关类。它们分别是:XmlReader、XmlTextReader、XmlValidatingReader、XmlNodeReader和XmlWriter、XmlTextWriter。同时它们也是最基本和最重要的类。
XmlReader类是一个虚基类,它包含了读XML文档的方法和属性。该类中的Read方法是一个基本的读XML文档的方法,它以流形式读取XML文档中的节点(Node)。另外,它还提供了ReadString、ReadInnerXml、ReadOuterXml和ReadStartElement等更高级的读方法。除了提供读XML文档的方法外,XmlReader类还为程序员提供了MoveToAttribute、MoveToFirstAttribute、MoveToContent、MoveToFirstContent、MoveToElement以及 MoveToNextAttribute等具有导航功能的方法。
2、命名空间是包含和XML模式相关的类,这些类包括XmlSchema、XmlSchemaAll、XmlSchemaXPath以及XmlSchemaType等类。
3、ization命名空间是包含和XML文档的序列化和反序列化操作相关的类,XML文档的序列化操作能将XML格式的数据转化为流格式的数据并能在网络中传输,而反序列化则完成相反的操作,即将流格式的数据还原成XML格式的数据。
4、命名空间包含的XPathDocument、XPathExression、XPathNavigator以及XPathNodeIterator等类,能完成XML文档的导航功能。在XPathDocument类的协助下,XPathNavigator类能快速完成XML文档导航功能,该类为程序员提供了许多Move方法以完成导航功能。
5、命名空间中的类完成了XSLT的转换功能。
参考文献:
[1]洪振东 基于.NET人力资源管理系统的设计和实现 华南理工大学 2009-11-30
[2]崔凯 基于.NET的财务管理软件开发 吉林大学 2010-06-01