XmlWriter 类

定义

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

public ref class XmlWriter abstract : IDisposable
public ref class XmlWriter abstract : IAsyncDisposable, IDisposable
public ref class XmlWriter abstract
public abstract class XmlWriter : IDisposable
public abstract class XmlWriter : IAsyncDisposable, IDisposable
public abstract class XmlWriter
type XmlWriter = class
    interface IDisposable
type XmlWriter = class
    interface IAsyncDisposable
    interface IDisposable
type XmlWriter = class
Public MustInherit Class XmlWriter
Implements IDisposable
Public MustInherit Class XmlWriter
Implements IAsyncDisposable, 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

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

WriteState

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

XmlLang

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

XmlSpace

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

方法

Close()

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

Create(Stream)

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

Create(Stream, XmlWriterSettings)

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

Create(String)

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

Create(String, XmlWriterSettings)

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

Create(StringBuilder)

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

Create(StringBuilder, XmlWriterSettings)

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

Create(TextWriter)

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

Create(TextWriter, XmlWriterSettings)

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

Create(XmlWriter)

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

Create(XmlWriter, XmlWriterSettings)

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

Dispose()

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

Dispose(Boolean)

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

DisposeAsync()

以异步方式执行与释放、释放或重置非托管资源关联的应用程序定义任务。

DisposeAsyncCore()

以异步方式执行与释放、释放或重置托管资源关联的应用程序定义任务。

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)

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

WriteAttributeString(String, String, String)

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

WriteAttributeString(String, String, String, String)

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

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)

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

WriteElementString(String, String, String)

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

WriteElementString(String, String, String, String)

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

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)

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

WriteQualifiedName(String, String)

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

WriteQualifiedNameAsync(String, String)

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

WriteRaw(Char[], Int32, Int32)

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

WriteRaw(String)

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

WriteRawAsync(Char[], Int32, Int32)

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

WriteRawAsync(String)

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

WriteStartAttribute(String)

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

WriteStartAttribute(String, String)

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

WriteStartAttribute(String, String, String)

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

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)

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

WriteStartElement(String, String)

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

WriteStartElement(String, String, 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()

扩展方法

ConfigureAwait(IAsyncDisposable, Boolean)

配置如何执行从异步可释放项返回的任务的 await。

适用于

另请参阅