XmlWriter 类

定义

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

public ref class XmlWriter abstract : IDisposable
public ref class XmlWriter abstract
public abstract class XmlWriter : IDisposable
public abstract class XmlWriter
type XmlWriter = class
    interface IDisposable
type XmlWriter = class
Public MustInherit Class XmlWriter
Implements IDisposable
Public MustInherit Class XmlWriter
继承
XmlWriter
派生
实现

示例

以下示例代码演示如何使用异步 API 生成 XML。

async Task TestWriter(Stream stream)
{
    XmlWriterSettings settings = new XmlWriterSettings();
    settings.Async = true;

    using (XmlWriter writer = XmlWriter.Create(stream, settings)) {
        await writer.WriteStartElementAsync("pf", "root", "http://ns");
        await writer.WriteStartElementAsync(null, "sub", null);
        await writer.WriteAttributeStringAsync(null, "att", null, "val");
        await writer.WriteStringAsync("text");
        await writer.WriteEndElementAsync();
        await writer.WriteProcessingInstructionAsync("pName", "pValue");
        await writer.WriteCommentAsync("cValue");
        await writer.WriteCDataAsync("cdata value");
        await writer.WriteEndElementAsync();
        await writer.FlushAsync();
    }
}

注解

有关此 API 的详细信息,请参阅 XmlWriter 的补充 API 说明

构造函数

名称 说明
XmlWriter()

初始化 XmlWriter 类的新实例。

属性

名称 说明
Settings

XmlWriterSettings获取用于创建此XmlWriter实例的对象。

WriteState

在派生类中重写时,获取编写器的状态。

XmlLang

在派生类中重写时,获取当前 xml:lang 范围。

XmlSpace

在派生类中重写时,获取 XmlSpace 表示当前 xml:space 范围。

方法

名称 说明
Close()

在派生类中重写时,关闭此流和基础流。

Create(Stream, XmlWriterSettings)

使用流和XmlWriterSettings对象创建新XmlWriter实例。

Create(Stream)

使用指定的流创建新 XmlWriter 实例。

Create(String, XmlWriterSettings)

使用文件名和XmlWriterSettings对象创建新XmlWriter实例。

Create(String)

使用指定的文件名创建新 XmlWriter 实例。

Create(StringBuilder, XmlWriterSettings)

使用StringBuilderXmlWriterSettings对象创建新XmlWriter实例。

Create(StringBuilder)

使用指定的StringBuilder实例创建一个新XmlWriter实例。

Create(TextWriter, XmlWriterSettings)

使用TextWriterXmlWriterSettings对象创建新XmlWriter实例。

Create(TextWriter)

使用指定的TextWriter实例创建一个新XmlWriter实例。

Create(XmlWriter, XmlWriterSettings)

使用指定XmlWriter对象和XmlWriterSettings对象创建新XmlWriter实例。

Create(XmlWriter)

使用指定的XmlWriter对象创建新XmlWriter实例。

Dispose()

释放类的 XmlWriter 当前实例使用的所有资源。

Dispose(Boolean)

释放由托管资源使用 XmlWriter 的非托管资源,并选择性地释放托管资源。

Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
Flush()

在派生类中重写时,将缓冲区中的内容刷新到基础流,并刷新基础流。

FlushAsync()

将缓冲区中的内容异步刷新到基础流,并刷新基础流。

GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
LookupPrefix(String)

在派生类中重写时,返回在命名空间 URI 的当前命名空间范围内定义的最接近的前缀。

MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
ToString()

返回一个表示当前对象的字符串。

(继承自 Object)
WriteAttributes(XmlReader, Boolean)

在派生类中重写时,写出在当前位置 XmlReader的所有属性。

WriteAttributesAsync(XmlReader, Boolean)

异步写入在当前位置 XmlReader找到的所有属性。

WriteAttributeString(String, String, String, String)

在派生类中重写时,写出具有指定前缀、本地名称、命名空间 URI 和值的属性。

WriteAttributeString(String, String, String)

在派生类中重写时,写入具有指定本地名称、命名空间 URI 和值的属性。

WriteAttributeString(String, String)

在派生类中重写时,写出具有指定本地名称和值的属性。

WriteAttributeStringAsync(String, String, String, String)

以异步方式写出具有指定前缀、本地名称、命名空间 URI 和值的属性。

WriteBase64(Byte[], Int32, Int32)

在派生类中重写时,将指定的二进制字节编码为 Base64,并写出生成的文本。

WriteBase64Async(Byte[], Int32, Int32)

将指定的二进制字节异步编码为 Base64,并写出生成的文本。

WriteBinHex(Byte[], Int32, Int32)

在派生类中重写时,将指定的二进制字节编码为 BinHex 并写出生成的文本。

WriteBinHexAsync(Byte[], Int32, Int32)

异步编码指定的二进制字节, BinHex 并写出生成的文本。

WriteCData(String)

在派生类中重写时,写出一个 <![CDATA]。]> 包含指定文本的块。

WriteCDataAsync(String)

异步写出 <![CDATA]。]> 包含指定文本的块。

WriteCharEntity(Char)

在派生类中重写时,强制为指定的 Unicode 字符值生成字符实体。

WriteCharEntityAsync(Char)

异步强制为指定的 Unicode 字符值生成字符实体。

WriteChars(Char[], Int32, Int32)

在派生类中重写时,一次写入一个缓冲区的文本。

WriteCharsAsync(Char[], Int32, Int32)

一次异步写入一个缓冲区的文本。

WriteComment(String)

在派生类中重写时,写出包含指定文本的注释 <--...--> 。

WriteCommentAsync(String)

异步写出包含指定文本的注释 <--...--> 。

WriteDocType(String, String, String, String)

在派生类中重写时,使用指定的名称和可选属性写入 DOCTYPE 声明。

WriteDocTypeAsync(String, String, String, String)

使用指定的名称和可选属性异步写入 DOCTYPE 声明。

WriteElementString(String, String, String, String)

写入具有指定前缀、本地名称、命名空间 URI 和值的元素。

WriteElementString(String, String, String)

写入具有指定本地名称、命名空间 URI 和值的元素。

WriteElementString(String, String)

写入具有指定本地名称和值的元素。

WriteElementStringAsync(String, String, String, String)

异步写入具有指定前缀、本地名称、命名空间 URI 和值的元素。

WriteEndAttribute()

在派生类中重写时,关闭上一 WriteStartAttribute(String, String) 次调用。

WriteEndAttributeAsync()

异步关闭上一 WriteStartAttribute(String, String) 次调用。

WriteEndDocument()

在派生类中重写时,关闭任何打开的元素或属性,并将编写器重新置于“开始”状态。

WriteEndDocumentAsync()

异步关闭任何打开的元素或属性,并将编写器重新置于“开始”状态。

WriteEndElement()

在派生类中重写时,关闭一个元素并弹出相应的命名空间范围。

WriteEndElementAsync()

异步关闭一个元素并弹出相应的命名空间范围。

WriteEntityRef(String)

在派生类中重写时,将实体引用写出为 &name;.

WriteEntityRefAsync(String)

以异步方式将实体引用写出为 &name;.

WriteFullEndElement()

在派生类中重写时,关闭一个元素并弹出相应的命名空间范围。

WriteFullEndElementAsync()

异步关闭一个元素并弹出相应的命名空间范围。

WriteName(String)

在派生类中重写时,写出指定的名称,确保它根据 W3C XML 1.0 建议(https://www.w3.org/TR/1998/REC-xml-19980210#NT-Name) 是有效的名称。

WriteNameAsync(String)

异步写出指定名称,确保它根据 W3C XML 1.0 建议(https://www.w3.org/TR/1998/REC-xml-19980210#NT-Name) 是有效的名称。

WriteNmToken(String)

在派生类中重写时,写出指定的名称,确保它根据 W3C XML 1.0 建议(https://www.w3.org/TR/1998/REC-xml-19980210#NT-Name)是有效的 NmToken。

WriteNmTokenAsync(String)

根据 W3C XML 1.0 建议https://www.w3.org/TR/1998/REC-xml-19980210#NT-Name()异步写出指定名称,确保它是有效的 NmToken。

WriteNode(XmlReader, Boolean)

在派生类中重写时,将读取器的所有内容复制到编写器,并将读取器移动到下一个兄弟姐妹的开头。

WriteNode(XPathNavigator, Boolean)

将对象的所有内容 XPathNavigator 复制到编写器。 该位置 XPathNavigator 保持不变。

WriteNodeAsync(XmlReader, Boolean)

将读取器的所有内容异步复制到编写器,并将读取器移动到下一个同级级的开头。

WriteNodeAsync(XPathNavigator, Boolean)

将对象中 XPathNavigator 的所有内容异步复制到编写器。 该位置 XPathNavigator 保持不变。

WriteProcessingInstruction(String, String)

在派生类中重写时,写出名称与文本之间的空格的处理指令,如下所示: <“name text?”>。

WriteProcessingInstructionAsync(String, String)

异步写出名称与文本之间的空格的处理指令,如下所示:<“名称文本”。>

WriteQualifiedName(String, String)

在派生类中重写时,写出命名空间限定的名称。 此方法查找位于给定命名空间范围内的前缀。

WriteQualifiedNameAsync(String, String)

异步写出命名空间限定的名称。 此方法查找位于给定命名空间范围内的前缀。

WriteRaw(Char[], Int32, Int32)

在派生类中重写时,从字符缓冲区手动写入原始标记。

WriteRaw(String)

在派生类中重写时,从字符串手动写入原始标记。

WriteRawAsync(Char[], Int32, Int32)

从字符缓冲区手动异步写入原始标记。

WriteRawAsync(String)

从字符串中手动异步写入原始标记。

WriteStartAttribute(String, String, String)

在派生类中重写时,使用指定的前缀、本地名称和命名空间 URI 写入属性的开头。

WriteStartAttribute(String, String)

写入具有指定本地名称和命名空间 URI 的属性的开头。

WriteStartAttribute(String)

写入具有指定本地名称的属性的开头。

WriteStartAttributeAsync(String, String, String)

异步写入具有指定前缀、本地名称和命名空间 URI 的属性的开头。

WriteStartDocument()

在派生类中重写时,使用版本“1.0”编写 XML 声明。

WriteStartDocument(Boolean)

在派生类中重写时,使用版本“1.0”和独立属性写入 XML 声明。

WriteStartDocumentAsync()

使用版本“1.0”异步写入 XML 声明。

WriteStartDocumentAsync(Boolean)

使用版本“1.0”和独立属性异步写入 XML 声明。

WriteStartElement(String, String, String)

在派生类中重写时,写入指定的开始标记并将其与给定的命名空间和前缀相关联。

WriteStartElement(String, String)

在派生类中重写时,写入指定的开始标记并将其与给定命名空间相关联。

WriteStartElement(String)

在派生类中重写时,写出具有指定本地名称的起始标记。

WriteStartElementAsync(String, String, String)

异步写入指定的开始标记,并将其与给定的命名空间和前缀相关联。

WriteString(String)

在派生类中重写时,写入给定的文本内容。

WriteStringAsync(String)

异步写入给定的文本内容。

WriteSurrogateCharEntity(Char, Char)

在派生类中重写时,生成并写入代理项字符对的代理项字符实体。

WriteSurrogateCharEntityAsync(Char, Char)

异步生成和写入代理项字符对的代理项字符实体。

WriteValue(Boolean)

写入值 Boolean

WriteValue(DateTime)

写入值 DateTime

WriteValue(DateTimeOffset)

写入值 DateTimeOffset

WriteValue(Decimal)

写入值 Decimal

WriteValue(Double)

写入值 Double

WriteValue(Int32)

写入值 Int32

WriteValue(Int64)

写入值 Int64

WriteValue(Object)

写入对象值。

WriteValue(Single)

写入单精度浮点数。

WriteValue(String)

写入值 String

WriteWhitespace(String)

在派生类中重写时,写出给定的空格。

WriteWhitespaceAsync(String)

异步写出给定的空格。

显式接口实现

名称 说明
IDisposable.Dispose()

有关此成员的说明,请参阅 Dispose()

适用于

另请参阅