System.Xml.XmlWriter 类

方法描述

表示一个编写器,该编写器提供一种快速、非缓存和只进的方式来生成包含 XML 数据的流或文件。

语法定义(C# System.Xml.XmlWriter 类 的用法)

public abstract class XmlWriter : IDisposable

构造函数

构造函数名称 构造函数描述
XmlWriter 初始化 XmlWriter 类的新实例。

成员/方法

方法名称 方法描述
Close 当在派生类中被重写时,关闭此流和基础流。
Create(Stream) 使用指定的流创建一个新的 XmlWriter 实例。
Create(String) 使用指定的文件名创建一个新的 XmlWriter 实例。
Create(StringBuilder) 使用指定的 StringBuilder 创建一个新的 XmlWriter 实例。
Create(TextWriter) 使用指定的 TextWriter 创建一个新的 XmlWriter 实例。
Create(XmlWriter) 使用指定的 XmlWriter 对象创建一个新的 XmlWriter 实例。
Create(Stream, XmlWriterSettings) 使用流和 XmlWriterSettings 对象创建一个新的 XmlWriter 实例。
Create(String, XmlWriterSettings) 使用文件名和 XmlWriterSettings 对象创建一个新的 XmlWriter 实例。
Create(StringBuilder, XmlWriterSettings) 使用 StringBuilder 和 XmlWriterSettings 对象创建一个新的 XmlWriter 实例。
Create(TextWriter, XmlWriterSettings) 使用 TextWriter 和 XmlWriterSettings 对象创建一个新的 XmlWriter 实例。
Create(XmlWriter, XmlWriterSettings) 使用指定的 XmlWriter 和 XmlWriterSettings 对象创建一个新的 XmlWriter 实例。
Dispose()
Dispose(Boolean) 释放由 XmlWriter 占用的非托管资源,还可以另外再释放托管资源。
Equals(Object) 确定指定的 Object 是否等于当前的 Object。 (继承自 Object。)
Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
Flush 当在派生类中被重写时,将缓冲区中的所有内容刷新到基础流,并同时刷新基础流。
GetHashCode 用作特定类型的哈希函数。 (继承自 Object。)
GetType 获取当前实例的 Type。 (继承自 Object。)
LookupPrefix 当在派生类中被重写时,返回在当前命名空间范围中为该命名空间 URI 定义的最近的前缀。
MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
ToString 返回表示当前对象的字符串。 (继承自 Object。)
WriteAttributes 当在派生类中被重写时,写出在 XmlReader 中当前位置找到的所有特性。
WriteAttributeString(String, String) 当在派生类中被重写时,写出具有指定的本地名称和值的特性。
WriteAttributeString(String, String, String) 当在派生类中被重写时,写入具有指定的本地名称、命名空间 URI 和值的特性。
WriteAttributeString(String, String, String, String) 当在派生类中被重写时,写出具有指定的前缀、本地名称、命名空间 URI 和值的特性。
WriteBase64 当在派生类中被重写时,将指定的二进制字节编码为 Base64 并写出结果文本。
WriteBinHex 当在派生类中被重写时,将指定的二进制字节编码为 BinHex 并写出结果文本。
WriteCData 当在派生类中被重写时,写出包含指定文本的 块。
WriteCharEntity 当在派生类中被重写时,为指定的 Unicode 字符值强制生成字符实体。
WriteChars 当在派生类中被重写时,以每次一个缓冲区的方式写入文本。
WriteComment 当在派生类中被重写时,写出包含指定文本的注释
WriteDocType 当在派生类中被重写时,写出具有指定名称和可选特性的 DOCTYPE 声明。
WriteElementString(String, String) 编写具有指定的本地名称和值的元素。
WriteElementString(String, String, String) 使用指定的本地名称、命名空间 URI 和值编写元素。
WriteElementString(String, String, String, String) 使用指定的本地名称、命名空间 URI 和值编写元素。
WriteEndAttribute 当在派生类中被重写时,关闭上一个 WriteStartAttribute 调用。
WriteEndDocument 当在派生类中被重写时,关闭任何打开的元素或特性并将编写器重新设置为 Start 状态。
WriteEndElement 当在派生类中被重写时,关闭一个元素并弹出相应的命名空间范围。
WriteEntityRef 当在派生类中被重写时,按 &name; 写出实体引用。
WriteFullEndElement 当在派生类中被重写时,关闭一个元素并弹出相应的命名空间范围。
WriteName 当在派生类中被重写时,写出指定的名称,确保它是符合 W3C XML 1.0 建议 (http://www.w3.org/TR/1998/REC-xml-19980210#NT-Name) 的有效名称。
WriteNmToken 当在派生类中被重写时,写出指定的名称,确保它是符合 W3C XML 1.0 建议 (http://www.w3.org/TR/1998/REC-xml-19980210#NT-Name) 的有效 NmToken。
WriteNode(XmlReader, Boolean) 当在派生类中被重写时,将所有内容从读取器复制到编写器并将读取器移动到下一个同级的开始位置。
WriteNode(XPathNavigator, Boolean) 将所有内容从 XPathNavigator 对象复制到编写器。 XPathNavigator 的位置保持不变。
WriteProcessingInstruction 当在派生类中被重写时,写出在名称和文本之间带有空格的处理指令,如下所示:
WriteQualifiedName 当在派生类中被重写时,写出命名空间限定的名称。 此方法查找位于给定命名空间范围内的前缀。
WriteRaw(String) 当在派生类中被重写时,从字符串手动编写原始标记。
WriteRaw(Char[], Int32, Int32) 当在派生类中被重写时,从字符缓冲区手动编写原始标记。
WriteStartAttribute(String) 用指定的本地名称编写特性的起点。
WriteStartAttribute(String, String) 编写具有指定本地名称和命名空间 URI 的特性的起始内容。
WriteStartAttribute(String, String, String) 当在派生类中被重写时,编写具有指定的前缀、本地名称和命名空间 URI 的特性的起始内容。
WriteStartDocument() 当在派生类中被重写时,编写版本为“1.0”的 XML 声明。
WriteStartDocument(Boolean) 当在派生类中被重写时,编写版本为“1.0”并具有独立特性的 XML 声明。
WriteStartElement(String) 当在派生类中被重写时,写出具有指定的本地名称的开始标记。
WriteStartElement(String, String) 当在派生类中被重写时,写出指定的开始标记并将其与给定的命名空间关联起来。
WriteStartElement(String, String, String) 当在派生类中被重写时,写出指定的开始标记并将其与给定的命名空间和前缀关联起来。
WriteString 当在派生类中被重写时,编写给定的文本内容。
WriteSurrogateCharEntity 当在派生类中被重写时,为代理项字符对生成并编写代理项字符实体。
WriteValue(Boolean) 写入一个 Boolean 值。
WriteValue(DateTime) 编写一个 DateTime 值。
WriteValue(Decimal) 编写一个 Decimal 值。
WriteValue(Double) 编写一个 Double 值。
WriteValue(Int32) 编写一个 Int32 值。
WriteValue(Int64) 编写一个 Int64 值。
WriteValue(Object) 编写对象值。
WriteValue(Single) 编写一个单精度浮点数。
WriteValue(String) 编写一个 String 值。
WriteWhitespace 当在派生类中被重写时,写出给定的空白。

提示和注释

XmlWriter 类支持 W3C 可扩展标记语言 (XML) 1.0 和“XML 中的命名空间”建议。

注意

虽然 Microsoft .NET Framework 包含 XmlTextWriter 类(该类是 XmlWriter 类的实现),但是在 2.0 版中,建议您使用 Create 方法创建新的 XmlWriter 对象。 通过 Create 方法,可以指定在已创建的 XmlWriter 对象上支持的功能;此外,您还可以充分利用 2.0 版中引入的新功能。

注意

使用 XmlWriter 方法输出 XML 时,在调用 Close 方法前,不会写入元素和特性。 例如,如果使用 XmlWriter 写入 XmlDocument,则在关闭 XmlWriter 之前,您将无法在目标文档中看到写入的元素和特性。

有关 XmlWriter 类的更多信息,请参见用 XmlWriter 编写 XML。

安全注意事项

当使用 XmlWriter 类时需要考虑下列事项。

XmlWriter 引发的异常可能会泄漏您不希望冒泡到应用程序的路径信息。 应用程序必须捕捉并适当处理这些异常。

XmlWriter 不验证任何传递到 WriteDocType 或 WriteRaw 方法的数据。 您不应将任意数据传递给这些方法。

System.Xml.XmlWriter 类例子


继承层次结构

System.Object

System.Xml.XmlWriter

System.Xml.XmlDictionaryWriter

System.Xml.XmlTextWriter

System.Xml.Xsl.Runtime.XmlQueryOutput

命名空间

namespace: System.Xml

程序集: System.Xml(在 System.Xml.dll 中)

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1 受以下版本支持:

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。