共用方式為


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)

使用 filename 和 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 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

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()

在衍生類別中覆寫時,關閉任何開啟的專案或屬性,並將寫入器放回 Start 狀態。

WriteEndDocumentAsync()

以異步方式關閉任何開啟的項目或屬性,並將寫入器放回 Start 狀態。

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)

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

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()

以異步方式寫入 XML 宣告與版本 「1.0」。。

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)

設定如何執行從異步可處置專案傳回的工作等候。

適用於

另請參閱