.NET中书写XML的一种简单方法

XML 是一项热门的技术。它之所以能够引起人们的兴趣,一个主要的原因在于它十分的简单,人们可以很容易地理解和使用它。每一个程序员都能轻易地看懂一个 XML 文件,理解它包含的内容。

.NET 中包含了很多支持 XML 的类,这些类使得程序员使用 XML 编程就如同理解 XML 文件一样简单。在这篇文章中,我将给出这样的一个类的使用示例,这个类就是 XmlTextWriter 类。

XmlTextWriter 类允许你将 XML 写到一个文件中去。这个类包含了很多方法和属性,使用这些属性和方法可以使你更容易地处理 XML 。为了使用这个类,你必须首先创建一个新的 XmlTextWriter 对象,然后你可以将 XML 片断加入到这个对象中。这个类中包含了不少的方法用于将各种类型的 XML 元素添加到 XML 文件中,下表给出了这些方法的名字和描述情况:

_ 方法 _ _ _

|

**_ 描述 _ ** **_ _ **

---|---

WriteStartDocument

|

书写版本为 “1.0” 的 XML 声明 _ _

WriteEndDocument

|

关闭任何打开的元素或属性 _ _

Close

|

关闭流 _ _

WriteDocType

|

写出具有指定名称和可选属性的 DOCTYPE 声明

WriteStartElement

|

写出指定的开始标记

WriteEndElement

|

关闭一个元素

WriteFullEndElement

|

关闭一个元素,并且总是写入完整的结束标记

WriteElementString

|

写出包含字符串值的元素

WriteStartAttribute

|

书写属性的起始内容

WriteEndAttribute

|

关闭上一个 WriteStartAttribute 调用

WriteRaw

|

手动书写原始标记

WriteString

|

书写一个字符串

WriteAttributeString

|

出具有指定值的属性

WriteCData

|

写出包含指定文本的

WriteComment

|

写出包含指定文本的注释

WriteWhiteSpace

|

写出给定的空白

WriteProcessingInstruction

|

写出在名称和文本之间带有空格的处理指令,如下所示:

如果你对于 XML 十分熟悉,那么你一定能很好的理解上面的这些方法。下面我们将给出一个例子,在这个例子中,我们将先创建一个文档,添加一些元素,然后关闭这个文档。添加了元素后你还可以添加子元素,属性和其他内容。下面的代码就是这样的一个例子,它创建了一个文件名为 title 的 XML 文件。

using System;

using System.IO;

using System.Xml;

public class Sample

{

public static void Main ()

{

XmlTextWriter writer = new XmlTextWriter("titles.xml", null);

// 写入根元素

writer.WriteStartElement("items");

// 加入子元素

writer.WriteElementString("title", "Unreal Tournament 2003");

writer.WriteElementString("title", "C&C: Renegade");

writer.WriteElementString("title", "Dr. Seuss's ABC");

// 关闭根元素,并书写结束标签

writer.WriteEndElement();

// 将 XML 写入文件并且关闭 XmlTextWriter

writer.Close();

}

}


如果你编译并且执行上面的代码,你将创建这个 XML 文件,文件中包含如下内容:

1<items><title>Unreal Tournament 2003</title><title>
2
3C&amp;C: Renegade</title><title>Dr. Seuss's ABC 
4
5</title></items>

上面的代码创建了一个名为 writer 的 XmlTextWriter 对象。当这个对象被创建时,它被关联到一个名为 titles.xml 的文件。接着,程序创建了一个叫做 items 的根属性, WriteStartElement 方法创建了这个属性的开始标签。接下来,程序调用了 WriteElementString 方法创建了三个子元素。从上面的代码你还可以看到,这个方法使用第一个参数(在上面的程序中是 title )作为元素的标签;使用第二个参数作为元素的值。当你添加了所有的元素后,你需要关闭根元素。这时你可以调用 WriteEndElement 方法关闭那个最近被打开的元素;在本例中,这个最近被打开的元素就是根元素。当所有的数据都已经写好,根元素也已经关闭时,你可以将信息传送给你的 XmlTextWriter 。这意味着这时候你可以调用 Close 方法关闭它了。

上面的代码相对十分的简单,下面我们看一个使用了 XmlTextWriter 类中更多方法,功能更加完善的例子。

using System;

using System.IO;

using System.Xml;

public class Sample

{

public static void Main ()

{

XmlTextWriter writer = new XmlTextWriter("myMedia.xml", null);

// 使用自动缩进便于阅读

writer.Formatting = Formatting.Indented;

// 书写根元素

writer.WriteStartElement("items");

<p class="MsoNormal" style="MARGIN: 3.9pt 0cm 0pt; LINE-HEIGHT: 110%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-para-margin-top: .25gd; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0p

Published At
Categories with Web编程
Tagged with
comments powered by Disqus