XmlWriter Class

Definition

Represents a writer that provides a fast, non-cached, forward-only way to generate streams or files that contain XML data.

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
Inheritance
XmlWriter
Derived
Implements

Examples

The following example code shows how to use the asynchronous API to generate 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();
    }
}

Remarks

For more information about this API, see Supplemental API remarks for XmlWriter.

Constructors

XmlWriter()

Initializes a new instance of the XmlWriter class.

Properties

Settings

Gets the XmlWriterSettings object used to create this XmlWriter instance.

WriteState

When overridden in a derived class, gets the state of the writer.

XmlLang

When overridden in a derived class, gets the current xml:lang scope.

XmlSpace

When overridden in a derived class, gets an XmlSpace representing the current xml:space scope.

Methods

Close()

When overridden in a derived class, closes this stream and the underlying stream.

Create(Stream)

Creates a new XmlWriter instance using the specified stream.

Create(Stream, XmlWriterSettings)

Creates a new XmlWriter instance using the stream and XmlWriterSettings object.

Create(String)

Creates a new XmlWriter instance using the specified filename.

Create(String, XmlWriterSettings)

Creates a new XmlWriter instance using the filename and XmlWriterSettings object.

Create(StringBuilder)

Creates a new XmlWriter instance using the specified StringBuilder.

Create(StringBuilder, XmlWriterSettings)

Creates a new XmlWriter instance using the StringBuilder and XmlWriterSettings objects.

Create(TextWriter)

Creates a new XmlWriter instance using the specified TextWriter.

Create(TextWriter, XmlWriterSettings)

Creates a new XmlWriter instance using the TextWriter and XmlWriterSettings objects.

Create(XmlWriter)

Creates a new XmlWriter instance using the specified XmlWriter object.

Create(XmlWriter, XmlWriterSettings)

Creates a new XmlWriter instance using the specified XmlWriter and XmlWriterSettings objects.

Dispose()

Releases all resources used by the current instance of the XmlWriter class.

Dispose(Boolean)

Releases the unmanaged resources used by the XmlWriter and optionally releases the managed resources.

DisposeAsync()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources asynchronously.

DisposeAsyncCore()

Performs application-defined tasks associated with freeing, releasing, or resetting managed resources asynchronously.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
Flush()

When overridden in a derived class, flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream.

FlushAsync()

Asynchronously flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream.

GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
LookupPrefix(String)

When overridden in a derived class, returns the closest prefix defined in the current namespace scope for the namespace URI.

MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)
WriteAttributes(XmlReader, Boolean)

When overridden in a derived class, writes out all the attributes found at the current position in the XmlReader.

WriteAttributesAsync(XmlReader, Boolean)

Asynchronously writes out all the attributes found at the current position in the XmlReader.

WriteAttributeString(String, String)

When overridden in a derived class, writes out the attribute with the specified local name and value.

WriteAttributeString(String, String, String)

When overridden in a derived class, writes an attribute with the specified local name, namespace URI, and value.

WriteAttributeString(String, String, String, String)

When overridden in a derived class, writes out the attribute with the specified prefix, local name, namespace URI, and value.

WriteAttributeStringAsync(String, String, String, String)

Asynchronously writes out the attribute with the specified prefix, local name, namespace URI, and value.

WriteBase64(Byte[], Int32, Int32)

When overridden in a derived class, encodes the specified binary bytes as Base64 and writes out the resulting text.

WriteBase64Async(Byte[], Int32, Int32)

Asynchronously encodes the specified binary bytes as Base64 and writes out the resulting text.

WriteBinHex(Byte[], Int32, Int32)

When overridden in a derived class, encodes the specified binary bytes as BinHex and writes out the resulting text.

WriteBinHexAsync(Byte[], Int32, Int32)

Asynchronously encodes the specified binary bytes as BinHex and writes out the resulting text.

WriteCData(String)

When overridden in a derived class, writes out a <![CDATA[...]]> block containing the specified text.

WriteCDataAsync(String)

Asynchronously writes out a <![CDATA[...]]> block containing the specified text.

WriteCharEntity(Char)

When overridden in a derived class, forces the generation of a character entity for the specified Unicode character value.

WriteCharEntityAsync(Char)

Asynchronously forces the generation of a character entity for the specified Unicode character value.

WriteChars(Char[], Int32, Int32)

When overridden in a derived class, writes text one buffer at a time.

WriteCharsAsync(Char[], Int32, Int32)

Asynchronously writes text one buffer at a time.

WriteComment(String)

When overridden in a derived class, writes out a comment <!--...--> containing the specified text.

WriteCommentAsync(String)

Asynchronously writes out a comment <!--...--> containing the specified text.

WriteDocType(String, String, String, String)

When overridden in a derived class, writes the DOCTYPE declaration with the specified name and optional attributes.

WriteDocTypeAsync(String, String, String, String)

Asynchronously writes the DOCTYPE declaration with the specified name and optional attributes.

WriteElementString(String, String)

Writes an element with the specified local name and value.

WriteElementString(String, String, String)

Writes an element with the specified local name, namespace URI, and value.

WriteElementString(String, String, String, String)

Writes an element with the specified prefix, local name, namespace URI, and value.

WriteElementStringAsync(String, String, String, String)

Asynchronously writes an element with the specified prefix, local name, namespace URI, and value.

WriteEndAttribute()

When overridden in a derived class, closes the previous WriteStartAttribute(String, String) call.

WriteEndAttributeAsync()

Asynchronously closes the previous WriteStartAttribute(String, String) call.

WriteEndDocument()

When overridden in a derived class, closes any open elements or attributes and puts the writer back in the Start state.

WriteEndDocumentAsync()

Asynchronously closes any open elements or attributes and puts the writer back in the Start state.

WriteEndElement()

When overridden in a derived class, closes one element and pops the corresponding namespace scope.

WriteEndElementAsync()

Asynchronously closes one element and pops the corresponding namespace scope.

WriteEntityRef(String)

When overridden in a derived class, writes out an entity reference as &name;.

WriteEntityRefAsync(String)

Asynchronously writes out an entity reference as &name;.

WriteFullEndElement()

When overridden in a derived class, closes one element and pops the corresponding namespace scope.

WriteFullEndElementAsync()

Asynchronously closes one element and pops the corresponding namespace scope.

WriteName(String)

When overridden in a derived class, writes out the specified name, ensuring it is a valid name according to the W3C XML 1.0 recommendation (https://www.w3.org/TR/1998/REC-xml-19980210#NT-Name).

WriteNameAsync(String)

Asynchronously writes out the specified name, ensuring it is a valid name according to the W3C XML 1.0 recommendation (https://www.w3.org/TR/1998/REC-xml-19980210#NT-Name).

WriteNmToken(String)

When overridden in a derived class, writes out the specified name, ensuring it is a valid NmToken according to the W3C XML 1.0 recommendation (https://www.w3.org/TR/1998/REC-xml-19980210#NT-Name).

WriteNmTokenAsync(String)

Asynchronously writes out the specified name, ensuring it is a valid NmToken according to the W3C XML 1.0 recommendation (https://www.w3.org/TR/1998/REC-xml-19980210#NT-Name).

WriteNode(XmlReader, Boolean)

When overridden in a derived class, copies everything from the reader to the writer and moves the reader to the start of the next sibling.

WriteNode(XPathNavigator, Boolean)

Copies everything from the XPathNavigator object to the writer. The position of the XPathNavigator remains unchanged.

WriteNodeAsync(XmlReader, Boolean)

Asynchronously copies everything from the reader to the writer and moves the reader to the start of the next sibling.

WriteNodeAsync(XPathNavigator, Boolean)

Asynchronously copies everything from the XPathNavigator object to the writer. The position of the XPathNavigator remains unchanged.

WriteProcessingInstruction(String, String)

When overridden in a derived class, writes out a processing instruction with a space between the name and text as follows: <?name text?>.

WriteProcessingInstructionAsync(String, String)

Asynchronously writes out a processing instruction with a space between the name and text as follows: <?name text?>.

WriteQualifiedName(String, String)

When overridden in a derived class, writes out the namespace-qualified name. This method looks up the prefix that is in scope for the given namespace.

WriteQualifiedNameAsync(String, String)

Asynchronously writes out the namespace-qualified name. This method looks up the prefix that is in scope for the given namespace.

WriteRaw(Char[], Int32, Int32)

When overridden in a derived class, writes raw markup manually from a character buffer.

WriteRaw(String)

When overridden in a derived class, writes raw markup manually from a string.

WriteRawAsync(Char[], Int32, Int32)

Asynchronously writes raw markup manually from a character buffer.

WriteRawAsync(String)

Asynchronously writes raw markup manually from a string.

WriteStartAttribute(String)

Writes the start of an attribute with the specified local name.

WriteStartAttribute(String, String)

Writes the start of an attribute with the specified local name and namespace URI.

WriteStartAttribute(String, String, String)

When overridden in a derived class, writes the start of an attribute with the specified prefix, local name, and namespace URI.

WriteStartAttributeAsync(String, String, String)

Asynchronously writes the start of an attribute with the specified prefix, local name, and namespace URI.

WriteStartDocument()

When overridden in a derived class, writes the XML declaration with the version "1.0".

WriteStartDocument(Boolean)

When overridden in a derived class, writes the XML declaration with the version "1.0" and the standalone attribute.

WriteStartDocumentAsync()

Asynchronously writes the XML declaration with the version "1.0".

WriteStartDocumentAsync(Boolean)

Asynchronously writes the XML declaration with the version "1.0" and the standalone attribute.

WriteStartElement(String)

When overridden in a derived class, writes out a start tag with the specified local name.

WriteStartElement(String, String)

When overridden in a derived class, writes the specified start tag and associates it with the given namespace.

WriteStartElement(String, String, String)

When overridden in a derived class, writes the specified start tag and associates it with the given namespace and prefix.

WriteStartElementAsync(String, String, String)

Asynchronously writes the specified start tag and associates it with the given namespace and prefix.

WriteString(String)

When overridden in a derived class, writes the given text content.

WriteStringAsync(String)

Asynchronously writes the given text content.

WriteSurrogateCharEntity(Char, Char)

When overridden in a derived class, generates and writes the surrogate character entity for the surrogate character pair.

WriteSurrogateCharEntityAsync(Char, Char)

Asynchronously generates and writes the surrogate character entity for the surrogate character pair.

WriteValue(Boolean)

Writes a Boolean value.

WriteValue(DateTime)

Writes a DateTime value.

WriteValue(DateTimeOffset)

Writes a DateTimeOffset value.

WriteValue(Decimal)

Writes a Decimal value.

WriteValue(Double)

Writes a Double value.

WriteValue(Int32)

Writes a Int32 value.

WriteValue(Int64)

Writes a Int64 value.

WriteValue(Object)

Writes the object value.

WriteValue(Single)

Writes a single-precision floating-point number.

WriteValue(String)

Writes a String value.

WriteWhitespace(String)

When overridden in a derived class, writes out the given white space.

WriteWhitespaceAsync(String)

Asynchronously writes out the given white space.

Explicit Interface Implementations

IDisposable.Dispose()

For a description of this member, see Dispose().

Extension Methods

ConfigureAwait(IAsyncDisposable, Boolean)

Configures how awaits on the tasks returned from an async disposable are performed.

Applies to

See also