没有合适的资源?快使用搜索试试~ 我知道了~
首页C#读取Xml文件 C#读取Xml文件
资源详情
资源评论
资源推荐

一.前言:
XML 是微软.Net 战略的一个重要组成部分,而且它可谓是 XML Web 服务的基石,所以
掌握.Net 框架下的 XML 技术自然
显得非常重要了。本文将指导大家如何运用 C#语言完成.Net 框架下的 XML 文档的读写操
作。首先,我会向大家介
绍.Net 框架中与 XML 相关的命名空间和其中的重要类。其次,我还会给出有关的实例以
使读者更进一步的了解 XML 文
档的读写操作的具体方法。
二.XML 命名空间和相关类简介:
在深入进行.Net 框架下的 XML 文档的操作之前,我想很有必要向大家介绍.Net 框架中与
XML 技术有关的命名空间和其
中一些重要的类。.Net 框架为我们提供了以下一些命名空间:
System.Xml、System.Xml.Schema、
System.Xml.Serialization、System.Xml.Xpath 以及 System.Xml.Xsl 来包容和 XML
操作相关的类。
System.Xml 命名空间包含了一些最重要的 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、MoveToFirstConten
t、 MoveToElement 以及

MoveToNextAttribute 等具有导航功能的方法。在本文后面介绍的实例中,我们将运用
到这些方法。
XmlTextReader、XmlNodeReader 以及 XmlValidatingReader 等类是从
XmlReader 类继承过来的子类。根据它们的名称
,我们可以知道其作用分别是读取文本内容、读取节点和读取 XML 模式(Schemas)。
XmlWriter 类为程序员提供了许多写 XML 文档的方法,它是 XmlTextWriter 类的基类,
我在后面的实例中会给出相关
的运用方法。
XmlNode 类是一个非常重要的类,它代表了 XML 文档中的某个节点。该节点可以是
XML 文档的根节点,这样它就代表
整个 XML 文档了。它是许多很有用的类的基类,这些类包括插入节点的类、删除节点的类、
替换节点的类以及在 XML
文档中完成导航功能的类。同时,XmlNode 类还为程序员提供了获取双亲节点、子节点、
最后一个子节点、节点名
称以及节点类型等的属性。它的三个最主要的子类包括:
XmlDocument、XmlDataDocument 以及
XmlDocumentFragment。XmlDocument 类代表了一个 XML 文档,它提供了载入和
保存 XML 文档的方法和属性。这些方法
包括了 Load、LoadXml 和 Save 等。同时,它还提供了添加特性(Attributes)、说明
(Comments)、空间(Spaces
)、元素(Elements)和新节点(New Nodes)等 XML 项的功能。
XmlDocumentFragment 类代表了一部分 XML 文档,它
能被用来添加到其他的 XML 文档中。 XmlDataDocument 类可以让程序员更好地完成和
ADO.NET 中的数据集对象之间的
互操作。
除了上面介绍的 System.Xml 命名空间中的类外,该命名空间还包括了
XmlConvert、XmlLinkedNode 以及 XmlNodeList
等类,不过这些类不是本文介绍的重点,有兴趣的读者不妨去参考相关文档资料。

System.Xml.Schema 命名空间中包含了和 XML 模式相关的类,这些类包括
XmlSchema、XmlSchemaAll、
XmlSchemaXPath 以及 XmlSchemaType 等类。
System.Xml.Serialization 命名空间中包含了和 XML 文档的序列化和反序列化操作相关
的类,XML 文档的序列化操作
能将 XML 格式的数据转化为流格式的数据并能在网络中传输,而反序列化则完成相反的操
作,即将流格式的数据还
原成 XML 格式的数据。
System.Xml.XPath 命名空间包含了 XPathDocument、
XPathExression、XPathNavigator 以及 XPathNodeIterator 等
类,这些类能完成 XML 文档的导航功能。在 XPathDocument 类的协助下,
XPathNavigator 类能完成快速的 XML 文档导
航功能,该类为程序员提供了许多 Move 方法以完成导航功能。
System.Xml.Xsl 命名空间中的类完成了 XSLT 的转换功能。
三.读 XML 文档的方法:
在介绍完.Net 框架中和 XML 有关的命名空间和相关类后,我接着向大家介绍和 XML 相关
的一些操作。首先,我向大家
介绍的读取 XML 文档的方法。在下面的实例程序中,我将运用 VS.net 开发工具附带
的"books.xml"文件来作为示例。
你可以在你的机器上搜索到该文件(或请参考附录),或者你也可以运用其他的 XML 文件。
首先,我们用 XmlTextReader 类的对象来读取该 XML 文档。方法很简单,就是在创建
新对象的构造函数中指明 XML 文
件的位置即可。
XmlTextReader textReader = new XmlTextReader("C:\\books.xml");
一旦新对象创建完毕,你就可以调用其 Read 方法来读取 XML 文档了。调用 Read 方法之
后,信息被存储起来,你可以
通过读取该对象的 Name、BaseURI、Depth、LineNumber 等属性来获取这些信息。
下面我给出一个完整的实例,该实
剩余11页未读,继续阅读
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0