第10章XML在C#中的典型应用_第1页
第10章XML在C#中的典型应用_第2页
第10章XML在C#中的典型应用_第3页
第10章XML在C#中的典型应用_第4页
第10章XML在C#中的典型应用_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第10章章 XML在在C#中的典型应用中的典型应用XML文档对象模型(文档对象模型(DOM)是)是XML数据访问的核心对数据访问的核心对象。本章通过简要介绍象。本章通过简要介绍C#中的中的DOM对象,学习如何在对象,学习如何在C#中中实现代码与实现代码与XML文件的交互,其中包括文件的交互,其中包括C#文件的获取、节文件的获取、节点的编辑等,旨在加深对点的编辑等,旨在加深对XML文件的认识。文件的认识。10.1 C#中的中的XML DOM在学习一门开发技术前,首先应从理论上了解这门技在学习一门开发技术前,首先应从理论上了解这门技术,然后再通过实践,深入了解其实际应用,这才是学习技术,然后再通

2、过实践,深入了解其实际应用,这才是学习技术的好方法。本节将先从术的好方法。本节将先从C#中的理论知识入手,让读者首中的理论知识入手,让读者首先了解先了解C#中的中的DOM。10.1.1 XML DOM的操作对象的操作对象XmlDocumentXmlDocument被称为被称为XML对象,是对象,是C#处理处理XML文件文件的核心对象。使用此对象,可以加载的核心对象。使用此对象,可以加载XML文件,也可以操作文件,也可以操作XML文件中的所有节点,使用文件中的所有节点,使用XmlDocument对象提供的方对象提供的方法,可轻松实现对法,可轻松实现对XML文件的内容进行增、删、改、查询等文件的内

3、容进行增、删、改、查询等各种操作。各种操作。使用使用XmlDocument读取的读取的XML文件,会暂时保存在内文件,会暂时保存在内存中,这大大提高了存中,这大大提高了XML文件的读取速度。所以文件的读取速度。所以XmlDocument对象的主要作用就是实现对象的主要作用就是实现XML文件的快速编文件的快速编辑。辑。10.1.2 使用使用XML文件分析文件分析XmlDocument中的对象中的对象本节通过解剖一个本节通过解剖一个XML文件,逐步分析文件,逐步分析XmlDocument中有中有关关XML文件的对象。下面是一个常见的文件的对象。下面是一个常见的XML文件。文件。 整个整个XML文件

4、:文件:XmlDocument对象用来读取整个对象用来读取整个XML文档,表示从根节点开始的所有数据。文档,表示从根节点开始的所有数据。 任意节点:节点是任意节点:节点是XML文件的基本对象。在文件的基本对象。在C#中,中,XmlNode表示节点对象。表示节点对象。 元素:元素一般没有子节点,只有内容。在元素:元素一般没有子节点,只有内容。在C#中,中,用用XmlElement表示元素。表示元素。 属性:属性是区分节点的标识。如属性:属性是区分节点的标识。如“id”就是就是User节节点的属性。在点的属性。在C#中,中,XmlAttribute表示属性对象。表示属性对象。 文本:文本用来表示元

5、素的值,如文本:文本用来表示元素的值,如“北京北京”就是就是元素的文本。在元素的文本。在C#中,中,XmlText表示文本对象。表示文本对象。10.1.3 使用使用DOM对象获取对象获取XML文件文件XmlDocument对象可以加载文件,也可以编辑文件,由于对象可以加载文件,也可以编辑文件,由于其作用于内存,具有高速读取的特性,所以很多时候使用此对象其作用于内存,具有高速读取的特性,所以很多时候使用此对象来获取服务器上的来获取服务器上的XML文件。实例的演示步骤如下。文件。实例的演示步骤如下。(1)创建一个网站,命名为)创建一个网站,命名为“XmlDomReadSample”。(2)设计页面

6、的布局如图所示。)设计页面的布局如图所示。(3)双击)双击“读取读取XML文件文件”按钮打开代码视图,在其按钮打开代码视图,在其Click事事件中,编写读取件中,编写读取XML文件的代码如下所示。文件的代码如下所示。(4)XmlDocument对象存在于专门的对象存在于专门的XML命名空间中,命名空间中,在视图的最上方一定要添加对此命名空间的引用。引用代码如下在视图的最上方一定要添加对此命名空间的引用。引用代码如下所示。所示。 using System.Xml;(5)在网站根目录下,添加一个)在网站根目录下,添加一个XML文件文件Students.xml,内容如下所示。内容如下所示。(6)按)

7、按F5键运行程序,单击键运行程序,单击“读取读取XML文件文件”按钮,则按钮,则运行效果如图所示。运行效果如图所示。10.1.4 使用使用DOM对象获取对象获取XML文件中的指定节点文件中的指定节点XML文件中,可通过属性来标识节点的唯一性,本例就利用属性文件中,可通过属性来标识节点的唯一性,本例就利用属性这个特点,学习如何获取指定的某个节点。实例的演示步骤如下。这个特点,学习如何获取指定的某个节点。实例的演示步骤如下。(1)在网站根目录下,添加一个新的)在网站根目录下,添加一个新的Web窗体,命名为窗体,命名为“getNode”。(2)设计页面的布局如图所示。)设计页面的布局如图所示。(3)

8、双击)双击“搜索搜索”按钮打开代码视图,在其按钮打开代码视图,在其Click事件中事件中。(4)在网站根目录下,添加名为)在网站根目录下,添加名为“StudentsID.xml”的文件的文件。(5)按)按F5键运行程序,在上面的文本框内输入要搜索的节点键运行程序,在上面的文本框内输入要搜索的节点id为为“1”,单击,单击“搜索搜索”按钮,程序运行效果如图所示。按钮,程序运行效果如图所示。10.1.5 使用使用DOM对象改变对象改变XML文件的数据顺序文件的数据顺序除了可以使用除了可以使用DOM来读取来读取XML文件,还可以对文件,还可以对XML文件的节点进文件的节点进行增、删、改、排列顺序。本

9、节将通过一个简单的排序实例,学习如何行增、删、改、排列顺序。本节将通过一个简单的排序实例,学习如何操作操作XML文件中的某个节点。实例的演示步骤如下。文件中的某个节点。实例的演示步骤如下。(1)在网站根目录下,添加一个新的)在网站根目录下,添加一个新的Web窗体,命名为窗体,命名为“EditNode”。(2)设计编辑节点的界面如图所示。其中搜索按钮可参考上一节)设计编辑节点的界面如图所示。其中搜索按钮可参考上一节例子的代码。例子的代码。(3)双击)双击“调整顺序调整顺序”按钮打开代码视图,编写修改节点的按钮打开代码视图,编写修改节点的代码如下所示。代码如下所示。(4)按)按F5键运行程序,单击

10、键运行程序,单击“调整顺序调整顺序”按钮,查看第一个按钮,查看第一个节点是否发生了变化。运行效果如图所示。节点是否发生了变化。运行效果如图所示。10.2 XML文件读取器文件读取器XmlReader使用使用XML DOM可以读取可以读取XML文件,但其速度比不上文件,但其速度比不上XmlReader对象。本节将介绍如何使用对象。本节将介绍如何使用XmlReader对象,对象,实现实现XML文件的读取。文件的读取。10.2.1 XmlReader的作用的作用XmlReader用来读取用来读取XML文件,与大部分读取器一样,文件,与大部分读取器一样,其支持只进式读取,即其支持只进式读取,即Xml

11、Reader是只读类型,不允许编辑是只读类型,不允许编辑XML文件。文件。XmlReader还有一个特点就是不缓存被读取的数还有一个特点就是不缓存被读取的数据,这也是其与据,这也是其与XmlDocument对象的一大区别。对象的一大区别。XmlReader可以读取整个可以读取整个XML文件,也可以从指定的节文件,也可以从指定的节点开始,只读取点开始,只读取XML文件中的某一部分。使用文件中的某一部分。使用XmlReader读读取取XML,主要实现以下功能。,主要实现以下功能。 可检查可检查XML节点的名称,为某一部分数据的读取提供节点的名称,为某一部分数据的读取提供便利。便利。 可检查可检查X

12、ML文档的格式,有利于页面的安全。文档的格式,有利于页面的安全。 可验证可验证XML文档的架构,对不符合验证的文档的架构,对不符合验证的XML文件,文件,给出警告信息。给出警告信息。 可根据条件,选择指定的数据,提高读取的速度。可根据条件,选择指定的数据,提高读取的速度。10.2.2 对对XML的验证的验证XmlReader不仅可以读取文件,还能对不仅可以读取文件,还能对XML文件中的节点文件中的节点和数据进行验证。其主要验证功能通过和数据进行验证。其主要验证功能通过XmlReaderSettings实实现,下面列举了几种常用的检查属性。现,下面列举了几种常用的检查属性。 CheckChara

13、cters:是否允许读取器检查字符。:是否允许读取器检查字符。 ConformanceLevel:设置检查:设置检查XML文档数据格式的级文档数据格式的级别。别。 IgnoreComments:是否忽略注释文本。:是否忽略注释文本。 IgnoreWhitespace:是否忽略文档中的空白处。:是否忽略文档中的空白处。 IgnoreProcessingInstructions:是否忽略处理指令。:是否忽略处理指令。10.2.3 使用使用XmlReader读取读取XML文件的一部分文件的一部分本节将通过一个实例,演示如何在本节将通过一个实例,演示如何在C#中使用中使用XmlReader读取服务读取

14、服务器上的器上的XML文件,从根目录开始读取,仅读取一个节点。演示步骤如下文件,从根目录开始读取,仅读取一个节点。演示步骤如下所示。所示。(1)打开)打开Visual Studio,新建一个网站,命名为,新建一个网站,命名为“ReadXML”。(2)在网站根目录下,添加一个)在网站根目录下,添加一个XML文件文件Teacher.xml。(3)在)在Default.aspx中,设计页面的布局如中,设计页面的布局如左左图所示。图所示。(4)双击)双击“读取读取”按钮,切换到代码视图按钮,切换到代码视图。(5)添加对)添加对XML命名空间的引用,代码如下所示。命名空间的引用,代码如下所示。 usin

15、g System.Xml;(6)按)按F5键运行程序,读取键运行程序,读取XML文件后的效果如文件后的效果如下下图所示。图所示。10.2.4 使用使用XmlTextReader读取整个读取整个XML文件文件XmlTextReader类是对类是对XmlReader类的扩展,也是提供一个类的扩展,也是提供一个XML文件文件的只进读取器。本例通过一个实例,演示如何使用的只进读取器。本例通过一个实例,演示如何使用XmlTextReader获取整获取整个个XML文件,演示步骤如下所示。文件,演示步骤如下所示。(1)打开)打开Visual Studio,新建一个网站,命名为,新建一个网站,命名为textR

16、eaderXml。(2)在网站根目录下,添加一个)在网站根目录下,添加一个Teacher.xml文件,内容同上一节。文件,内容同上一节。(3)打开)打开Default.aspx文件,设计窗体的默认布局,如文件,设计窗体的默认布局,如下下图所示图所示。(4)双击)双击“读取读取”按钮,打开代码视图按钮,打开代码视图。(5)按)按F5键运行程序,单击键运行程序,单击“读取读取”按钮,运行效果如按钮,运行效果如下下图所示。图所示。10.3 XML文件编写器文件编写器XmlWriterXML文件编写器的主要作用就是快速创建文件编写器的主要作用就是快速创建XML文件,文件,然后在文件中添加内容。本节将介

17、绍然后在文件中添加内容。本节将介绍XML编写过程中的一些编写过程中的一些注意事项,并通过实例学习如何使用注意事项,并通过实例学习如何使用XmlWriter编写编写XML文文件。件。10.3.1 XmlWriter的作用的作用XmlWriter主要的作用是创建主要的作用是创建XML文件,然后根据实际文件,然后根据实际情况,验证情况,验证XML文件的内容,最后完成文件的内容编写。文件的内容,最后完成文件的内容编写。XmlWriter的主要作用如下所示。的主要作用如下所示。 检查检查XML文档中文本、元素和节点等数据的正确性。文档中文本、元素和节点等数据的正确性。 检查检查XML文档的格式。文档的格

18、式。 能转换能转换XML的编码,支持纯文本的输出。的编码,支持纯文本的输出。 可以合并多个可以合并多个XML文件,然后导出到一个文件中。文件,然后导出到一个文件中。 利用利用XmlWriter提供的方法,可输出符合规范的各种提供的方法,可输出符合规范的各种XM L数据元素。数据元素。10.3.2 XmlWriter对对XML文件的验证文件的验证为了可以生成一个格式良好的为了可以生成一个格式良好的XML文件,文件,XmlWriter和和XmlReader一样,可以验证文件或字符串的格式。在编写一样,可以验证文件或字符串的格式。在编写器中,使用器中,使用XmlWriterSettings来验证这些

19、内容。来验证这些内容。XmlWriterSettings的主要验证设置如下所示。的主要验证设置如下所示。 CheckCharacters:设置是否需要进行字符检查。:设置是否需要进行字符检查。 Encoding:设置输出的:设置输出的XML流使用的编码。流使用的编码。 Indent:输出文本时,指定元素是否需要缩进。:输出文本时,指定元素是否需要缩进。 IndentChars:元素如果缩进,使用的缩进符号。:元素如果缩进,使用的缩进符号。 NewLineChars:设施分行时使用的字符。:设施分行时使用的字符。 NewLineOnAttributes:设置属性是否在新的一行:设置属性是否在新的

20、一行中创建。中创建。10.3.3 用用XmlWriter创建并编辑创建并编辑XML文件文件了解了编写器的作用和验证属性后,本节通过一个实际的例子,演了解了编写器的作用和验证属性后,本节通过一个实际的例子,演示编写器的应用过程。详细步骤如下所示。示编写器的应用过程。详细步骤如下所示。(1)打开)打开Visual Studio,创建一个网站,命名为,创建一个网站,命名为“xmlWriterSample”。(2)在默认生成的)在默认生成的Default.aspx中,设计页面的布局如图所示。中,设计页面的布局如图所示。(3)双击)双击“读取读取”按钮,切换到代码视图,在按钮,切换到代码视图,在Page

21、_Load事件中事件中。(4)在)在“读取读取”按钮的按钮的Click事件中,编写用事件中,编写用XmlReader读取读取XML文文件的代码,如下所示。件的代码,如下所示。(5)按)按F5键运行程序,程序运行的效果如图所示。键运行程序,程序运行的效果如图所示。(6)关闭运行着的程序,刷新网站根目录,可以发现多了)关闭运行着的程序,刷新网站根目录,可以发现多了一个一个student.xml文件,其内容如下所示。文件,其内容如下所示。10.4 XML与与DataSet的交互的交互XML的一大优势在于简便的数据表示能力,而在的一大优势在于简便的数据表示能力,而在.NET中,大部分来自数据库的数据,

22、都通过中,大部分来自数据库的数据,都通过DataSet存储,因为存储,因为其有一次读取,多次使用的优点。为了提高网络数据传输能其有一次读取,多次使用的优点。为了提高网络数据传输能力,经常需要在力,经常需要在DataSet和和XML文件之间进行一些转换。本文件之间进行一些转换。本节通过实例学习如何实现这些转换。节通过实例学习如何实现这些转换。10.4.1 将将XML文件转化为文件转化为DataSet数据集数据集在在Visual Studio中,提供了很多数据控件(如中,提供了很多数据控件(如GridView、DataList等),这些控件都提供一个属性等),这些控件都提供一个属性DataSour

23、ce,用其可以,用其可以很方便地将控件与数据源绑定,直接显示数据库中的数据。很方便地将控件与数据源绑定,直接显示数据库中的数据。如果数据由一个如果数据由一个XML文件组成,那该如何绑定到这些数据控文件组成,那该如何绑定到这些数据控件上呢?下面的例子将通过一个转换过程,实现件上呢?下面的例子将通过一个转换过程,实现XML文件的数据文件的数据绑定。演示步骤如下。绑定。演示步骤如下。(1)打开)打开Visual Studio,新建一个网站,命名为,新建一个网站,命名为“XMLDataSet”。(2)在根目录下,添加一个)在根目录下,添加一个XML文件文件students.xml。(3)在网站根目录下,添加一个)在网站根目录下,添加一个Web窗体,命名为窗体,命名为“Xml2DataSet”。(4)设计页面的布局如图所示。)设计页面的布局如图所示。(5)双击页面空白处,切换到叶面的)双击页面空白处,切换到叶面的Page_Load事件中,编写事件中,编写转

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论