VS 2005 中使用 XmlWriter类创建xml文档

来源:互联网 发布:华为软件商城app 编辑:程序博客网 时间:2024/06/05 16:26
在visual Studio 2003中,最常用的方法是使用XmlTextWriter来创建Xml文档,但在Visual Studio 2005中的技术描述中的说明, 尽管在.net Framework 2.0版中,Microsoft .net Framework包括XmlTextWriter类,该类是XmlWriter类的具体实现,但是,还是建议开发人员使用Create方法来创建XmlWriter实例。

XmlWriter实例使用Create方法创建,XmlWriterSettings类用于指定要在新的XmlWriter对象上启用的功能集

使用 XmlWriterSettings 类的属性启用或禁用功能。通过将 XmlWriterSettings 对象传递给 Create 方法,指定要支持的写入器功能。通过使用 Create 方法和 XmlWriterSettings 类,您将得到下列好处:

·                 可以指定要在所创建的 XmlWriter 对象上支持的功能。

·                 XmlWriterSettings 对象可以重复使用,以创建多个写入器对象。将为每个创建的写入器复制 XmlWriterSettings 对象并标记为只读。更改 XmlWriterSettings 实例上的设置不会影响具有相同设置的现有写入器。因此,可以使用相同的设置创建多个具有相同功能的写入器。也可以修改 XmlWriterSettings 实例上的设置并创建具有不同功能集的新写入器。

·                 可以将功能添加到现有写入器中。Create 方法可以接受其他 XmlWriter 对象。基础 XmlWriter 对象不必是通过静态 Create 方法创建的写入器。例如,可以指定用户定义的写入器或要添加附加功能的 XmlTextWriter 对象。

·                 充分利用此版本的 XmlWriter 类中增加的所有新功能。某些功能只能在通过静态 Create 方法创建的 XmlWriter 对象上使用,例如更好的一致性检查以及与 XML 1.0 建议的一致性。

如果 XmlWriterSettings 对象未传递给 Create 方法,将使用默认的写入器设置。下表列出 XmlWriterSettings 类的默认设置。

属性
初始值
CheckCharacters
true
CloseOutput
false
ConformanceLevel
ConformanceLevel.Document
Encoding
Encoding.UTF8
Indent
false
IndentChars
两个空格
NewLineChars
/r/n(回车符、换行符)
NewLineHandling
NewHandling.Replace
NewLineOnAttributes
false
OmitXmlDeclaration
false

以下是一个简单的示例
//--这些是对创建的xml文档的的设置

XmlWriterSettings mysetting = new XmlWriterSettings();// XmlWriterSettings 实例化
mysetting.Indent = true;                 // 写入文件新行
mysetting.IndentChars = "      ";        // 缩进


//--创建文档

XmlWriter my_x_writer = XmlWriter.Create("my_xml_testFile.xml", mysettings);

//--对文档进一步操作
my_x_writer.WriteStartDocument();         // 创建<?xml version = "1.0"> 的文件头
my_x_writer.WriteStartElement();          //创建根元素
my_x_writer.WriteElementString("node1","Hello world!");
my_x_writer.WriteEndElement();             
my_x_writer.Flush();