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();