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

取得 XmlWriterSettings 物件,用於建立這個 XmlWriter 執行個體。

WriteState

在衍生類別中覆寫時,取得寫入器的狀態。

XmlLang

當在衍生類別中覆寫時,取得目前xml:lang範圍。

XmlSpace

在衍生類別中覆寫時,取得表示目前 xml:space 範圍的 XmlSpace

方法

Close()

在衍生類別中覆寫時,關閉這個資料流和基礎資料流。

Create(Stream)

使用指定的資料流,建立新的 XmlWriter 執行個體。

Create(Stream, XmlWriterSettings)

使用資料流和 XmlWriter 物件,建立新 XmlWriterSettings 執行個體。

Create(String)

使用指定的檔名,建立新 XmlWriter 執行個體。

Create(String, XmlWriterSettings)

使用檔名和 XmlWriter 物件,建立新 XmlWriterSettings 執行個體。

Create(StringBuilder)

使用指定的 XmlWriter,建立新 StringBuilder 執行個體。

Create(StringBuilder, XmlWriterSettings)

使用 XmlWriterStringBuilder 物件,建立新的 XmlWriterSettings 執行個體。

Create(TextWriter)

使用指定的 XmlWriter,建立新 TextWriter 執行個體。

Create(TextWriter, XmlWriterSettings)

使用 XmlWriterTextWriter 物件,建立新的 XmlWriterSettings 執行個體。

Create(XmlWriter)

使用指定的 XmlWriter 物件,建立新 XmlWriter 執行個體。

Create(XmlWriter, XmlWriterSettings)

使用指定的 XmlWriterXmlWriter 物件,建立新的 XmlWriterSettings 執行個體。

Dispose()

釋放 XmlWriter 類別目前的執行個體所使用的全部資源。

Dispose(Boolean)

釋放 XmlWriter 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

DisposeAsync()

非同步執行與釋放 (Free)、釋放 (Release) 或重設 Unmanaged 資源相關聯之由應用程式定義的工作。

DisposeAsyncCore()

以非同步方式執行與釋放 (Free)、釋放 (Release) 或重設受控資源相關聯的應用程式定義工作。

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 建議的有效 NmToken () https://www.w3.org/TR/1998/REC-xml-19980210#NT-Name

WriteNmTokenAsync(String)

以異步方式寫出指定的名稱,確保它是根據 W3C XML 1.0 建議的有效 NmToken () https://www.w3.org/TR/1998/REC-xml-19980210#NT-Name

WriteNode(XmlReader, Boolean)

在衍生類別中覆寫時,從讀取器複製所有內容至寫入器,並將讀取器移至下一個同層級 (Sibling) 的開頭。

WriteNode(XPathNavigator, Boolean)

XPathNavigator 物件中的所有項目複製到寫入器。 XPathNavigator 的位置保持不變。

WriteNodeAsync(XmlReader, Boolean)

以非同步的方式從讀取器複製所有內容至寫入器,並將讀取器移至下一個同層級 (Sibling) 的開頭。

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)

在衍生類別中覆寫時,從字串手動寫入未經處理的標記 (Raw Markup)。

WriteRawAsync(Char[], Int32, Int32)

以非同步的方式從字元緩衝區手動寫入未經處理的標記。

WriteRawAsync(String)

以非同步的方式從字串手動寫入未經處理的標記 (Raw Markup)。

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)

在衍生類別中覆寫時,產生和寫入 Surrogate 字元字組的 Surrogate 字元實體。

WriteSurrogateCharEntityAsync(Char, Char)

以非同步的方式產生和寫入 Surrogate 字元字組的 Surrogate 字元實體。

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。

適用於

另請參閱