XmlWriter类相当于XML文档编写器。该类提供对XML数据以快速、非缓存和只进的方式进行处理,然后生成数据流或者文件的功能。
XmlWriter类是一个抽象基类,该类在.net framework中具有XmlTextWriter类的具体实现。
一般的做法不是使用这些类的构造函数,而是通过XmlWriter类的Create静态方法来创建XmlWriter类的实例。其原因是使用Create建立的XmlWriter类可以在创建时通过指定XmlWriterSettings类实例的属性,达到控制XmlWriter类实例具体功能的目的,并且可以用一个XmlWriterSettings创建多个具有相同编写设置的XmlWriter类实例。
当XmlWriterSettings类实例修改时,不影响已经创建的现有编写器实例,从而可以通过修改同一个XmlWriterSettings类实例,创建不同设置的编写器实例。
XmlWriter类提供了生成XML数据流或文件的一系列功能。例如,检查XML数据字符是否合法,包括检查元素和属性的字符是否合法,检查XML数据格式是否正确等,还有,生成正确的名称、限定名和名称标记,转换二进制字节编码为Base64或者Binhex编码。为了避免手动转换数据类型的麻烦,XmlWriter类使用公共语言运行库的数据类型传递值,而不是字符串,此外,XmlWriter类还可以将多个XML文档写入同一个数据流或文件。
XmlWriter类使用字符检查和一致性检查确保写入的XML数据是符合规则、格式正确的,分述如下。
XmlWriter类提供的字符检查负责验证XML数据中字符的合法性,但字符检查并不判断名称的字符合法性,而是将名称字符的判断交给一致性检查。