0 out of 5 rated this helpful - Rate this topic

XmlWriter Class

Represents a writer that provides a fast, non-cached, forward-only means of generating streams or files containing XML data.

Namespace:  System.Xml
Assembly:  System.Xml (in System.Xml.dll)
public abstract class XmlWriter : IDisposable

The XmlWriter type exposes the following members.

  NameDescription
Protected methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsXmlWriterInitializes a new instance of the XmlWriter class.
Top
  NameDescription
Public propertySupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSettingsGets the XmlWriterSettings object used to create this XmlWriter instance.
Public propertySupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteStateWhen overridden in a derived class, gets the state of the writer.
Public propertySupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsXmlLangWhen overridden in a derived class, gets the current xml:lang scope.
Public propertySupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsXmlSpaceWhen overridden in a derived class, gets an XmlSpace representing the current xml:space scope.
Top
  NameDescription
Public methodSupported by the XNA FrameworkCloseWhen overridden in a derived class, closes this stream and the underlying stream.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsCreate(Stream)Creates a new XmlWriter instance using the specified stream.
Public methodStatic memberSupported by the XNA FrameworkCreate(String)Creates a new XmlWriter instance using the specified filename.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsCreate(StringBuilder)Creates a new XmlWriter instance using the specified StringBuilder.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsCreate(TextWriter)Creates a new XmlWriter instance using the specified TextWriter.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsCreate(XmlWriter)Creates a new XmlWriter instance using the specified XmlWriter object.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsCreate(Stream, XmlWriterSettings)Creates a new XmlWriter instance using the stream and XmlWriterSettings object.
Public methodStatic memberSupported by the XNA FrameworkCreate(String, XmlWriterSettings)Creates a new XmlWriter instance using the filename and XmlWriterSettings object.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsCreate(StringBuilder, XmlWriterSettings)Creates a new XmlWriter instance using the StringBuilder and XmlWriterSettings objects.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsCreate(TextWriter, XmlWriterSettings)Creates a new XmlWriter instance using the TextWriter and XmlWriterSettings objects.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsCreate(XmlWriter, XmlWriterSettings)Creates a new XmlWriter instance using the specified XmlWriter and XmlWriterSettings objects.
Public methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsDispose()Releases all resources used by the current instance of the XmlWriter class.
Protected methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsDispose(Boolean)Releases the unmanaged resources used by the XmlWriter and optionally releases the managed resources.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsFlushWhen overridden in a derived class, flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream.
Public methodSupported in .NET for Windows Store appsFlushAsyncAsynchronously flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsLookupPrefixWhen overridden in a derived class, returns the closest prefix defined in the current namespace scope for the namespace URI.
Protected methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsToStringReturns a string that represents the current object. (Inherited from Object.)
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteAttributesWhen overridden in a derived class, writes out all the attributes found at the current position in the XmlReader.
Public methodSupported in .NET for Windows Store appsWriteAttributesAsyncAsynchronously writes out all the attributes found at the current position in the XmlReader.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteAttributeString(String, String)When overridden in a derived class, writes out the attribute with the specified local name and value.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteAttributeString(String, String, String)When overridden in a derived class, writes an attribute with the specified local name, namespace URI, and value.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteAttributeString(String, String, String, String)When overridden in a derived class, writes out the attribute with the specified prefix, local name, namespace URI, and value.
Public methodSupported in .NET for Windows Store appsWriteAttributeStringAsyncAsynchronously writes out the attribute with the specified prefix, local name, namespace URI, and value.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteBase64When overridden in a derived class, encodes the specified binary bytes as Base64 and writes out the resulting text.
Public methodSupported in .NET for Windows Store appsWriteBase64AsyncAsynchronously encodes the specified binary bytes as Base64 and writes out the resulting text.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteBinHexWhen overridden in a derived class, encodes the specified binary bytes as BinHex and writes out the resulting text.
Public methodSupported in .NET for Windows Store appsWriteBinHexAsyncAsynchronously encodes the specified binary bytes as BinHex and writes out the resulting text.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteCDataWhen overridden in a derived class, writes out a <![CDATA[...]]> block containing the specified text.
Public methodSupported in .NET for Windows Store appsWriteCDataAsyncAsynchronously writes out a <![CDATA[...]]> block containing the specified text.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteCharEntityWhen overridden in a derived class, forces the generation of a character entity for the specified Unicode character value.
Public methodSupported in .NET for Windows Store appsWriteCharEntityAsyncAsynchronously forces the generation of a character entity for the specified Unicode character value.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteCharsWhen overridden in a derived class, writes text one buffer at a time.
Public methodSupported in .NET for Windows Store appsWriteCharsAsyncAsynchronously writes text one buffer at a time.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteCommentWhen overridden in a derived class, writes out a comment <!--...--> containing the specified text.
Public methodSupported in .NET for Windows Store appsWriteCommentAsyncAsynchronously writes out a comment <!--...--> containing the specified text.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteDocTypeWhen overridden in a derived class, writes the DOCTYPE declaration with the specified name and optional attributes.
Public methodSupported in .NET for Windows Store appsWriteDocTypeAsyncAsynchronously writes the DOCTYPE declaration with the specified name and optional attributes.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteElementString(String, String)Writes an element with the specified local name and value.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteElementString(String, String, String)Writes an element with the specified local name, namespace URI, and value.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteElementString(String, String, String, String)Writes an element with the specified prefix, local name, namespace URI, and value.
Public methodSupported in .NET for Windows Store appsWriteElementStringAsyncAsynchronously writes an element with the specified prefix, local name, namespace URI, and value.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteEndAttributeWhen overridden in a derived class, closes the previous WriteStartAttribute call.
Protected methodSupported in .NET for Windows Store appsWriteEndAttributeAsyncAsynchronously closes the previous WriteStartAttribute call.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteEndDocumentWhen overridden in a derived class, closes any open elements or attributes and puts the writer back in the Start state.
Public methodSupported in .NET for Windows Store appsWriteEndDocumentAsyncAsynchronously closes any open elements or attributes and puts the writer back in the Start state.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteEndElementWhen overridden in a derived class, closes one element and pops the corresponding namespace scope.
Public methodSupported in .NET for Windows Store appsWriteEndElementAsyncAsynchronously closes one element and pops the corresponding namespace scope.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteEntityRefWhen overridden in a derived class, writes out an entity reference as &name;.
Public methodSupported in .NET for Windows Store appsWriteEntityRefAsyncAsynchronously writes out an entity reference as &name;.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteFullEndElementWhen overridden in a derived class, closes one element and pops the corresponding namespace scope.
Public methodSupported in .NET for Windows Store appsWriteFullEndElementAsyncAsynchronously closes one element and pops the corresponding namespace scope.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteNameWhen overridden in a derived class, writes out the specified name, ensuring it is a valid name according to the W3C XML 1.0 recommendation (http://www.w3.org/TR/1998/REC-xml-19980210#NT-Name).
Public methodSupported in .NET for Windows Store appsWriteNameAsyncAsynchronously writes out the specified name, ensuring it is a valid name according to the W3C XML 1.0 recommendation (http://www.w3.org/TR/1998/REC-xml-19980210#NT-Name).
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteNmTokenWhen overridden in a derived class, writes out the specified name, ensuring it is a valid NmToken according to the W3C XML 1.0 recommendation (http://www.w3.org/TR/1998/REC-xml-19980210#NT-Name).
Public methodSupported in .NET for Windows Store appsWriteNmTokenAsyncAsynchronously writes out the specified name, ensuring it is a valid NmToken according to the W3C XML 1.0 recommendation (http://www.w3.org/TR/1998/REC-xml-19980210#NT-Name).
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteNode(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.
Public methodWriteNode(XPathNavigator, Boolean)Copies everything from the XPathNavigator object to the writer. The position of the XPathNavigator remains unchanged.
Public methodSupported in .NET for Windows Store appsWriteNodeAsync(XmlReader, Boolean)Asynchronously copies everything from the reader to the writer and moves the reader to the start of the next sibling.
Public methodWriteNodeAsync(XPathNavigator, Boolean)Asynchronously copies everything from the XPathNavigator object to the writer. The position of the XPathNavigator remains unchanged.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteProcessingInstructionWhen overridden in a derived class, writes out a processing instruction with a space between the name and text as follows: <?name text?>.
Public methodSupported in .NET for Windows Store appsWriteProcessingInstructionAsyncAsynchronously writes out a processing instruction with a space between the name and text as follows: <?name text?>.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteQualifiedNameWhen 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.
Public methodSupported in .NET for Windows Store appsWriteQualifiedNameAsyncAsynchronously writes out the namespace-qualified name. This method looks up the prefix that is in scope for the given namespace.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteRaw(String)When overridden in a derived class, writes raw markup manually from a string.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteRaw(Char[], Int32, Int32)When overridden in a derived class, writes raw markup manually from a character buffer.
Public methodSupported in .NET for Windows Store appsWriteRawAsync(String)Asynchronously writes raw markup manually from a string.
Public methodSupported in .NET for Windows Store appsWriteRawAsync(Char[], Int32, Int32)Asynchronously writes raw markup manually from a character buffer.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteStartAttribute(String)Writes the start of an attribute with the specified local name.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteStartAttribute(String, String)Writes the start of an attribute with the specified local name and namespace URI.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteStartAttribute(String, String, String)When overridden in a derived class, writes the start of an attribute with the specified prefix, local name, and namespace URI.
Protected methodSupported in .NET for Windows Store appsWriteStartAttributeAsyncAsynchronously writes the start of an attribute with the specified prefix, local name, and namespace URI.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteStartDocument()When overridden in a derived class, writes the XML declaration with the version "1.0".
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteStartDocument(Boolean)When overridden in a derived class, writes the XML declaration with the version "1.0" and the standalone attribute.
Public methodSupported in .NET for Windows Store appsWriteStartDocumentAsync()Asynchronously writes the XML declaration with the version "1.0".
Public methodSupported in .NET for Windows Store appsWriteStartDocumentAsync(Boolean)Asynchronously writes the XML declaration with the version "1.0" and the standalone attribute.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteStartElement(String)When overridden in a derived class, writes out a start tag with the specified local name.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteStartElement(String, String)When overridden in a derived class, writes the specified start tag and associates it with the given namespace.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteStartElement(String, String, String)When overridden in a derived class, writes the specified start tag and associates it with the given namespace and prefix.
Public methodSupported in .NET for Windows Store appsWriteStartElementAsyncAsynchronously writes the specified start tag and associates it with the given namespace and prefix.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteStringWhen overridden in a derived class, writes the given text content.
Public methodSupported in .NET for Windows Store appsWriteStringAsyncAsynchronously writes the given text content.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteSurrogateCharEntityWhen overridden in a derived class, generates and writes the surrogate character entity for the surrogate character pair.
Public methodSupported in .NET for Windows Store appsWriteSurrogateCharEntityAsyncAsynchronously generates and writes the surrogate character entity for the surrogate character pair.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteValue(Boolean)Writes a Boolean value.
Public methodSupported by the XNA FrameworkWriteValue(DateTime)Writes a DateTime value.
Public methodSupported in .NET for Windows Store appsWriteValue(DateTimeOffset)Writes a DateTimeOffset value.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteValue(Decimal)Writes a Decimal value.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteValue(Double)Writes a Double value.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteValue(Int32)Writes a Int32 value.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteValue(Int64)Writes a Int64 value.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteValue(Object)Writes the object value.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteValue(Single)Writes a single-precision floating-point number.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteValue(String)Writes a String value.
Public methodSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteWhitespaceWhen overridden in a derived class, writes out the given white space.
Public methodSupported in .NET for Windows Store appsWriteWhitespaceAsyncAsynchronously writes out the given white space.
Top
  NameDescription
Explicit interface implemetationPrivate methodSupported by the XNA FrameworkIDisposable.DisposeFor a description of this member, see IDisposable.Dispose.
Top

The XmlWriter class supports the W3C Extensible Markup Language (XML) 1.0 and the Namespaces in XML recommendations.

NoteNote

Although the Microsoft .NET Framework includes the XmlTextWriter class, which is an implementation of the XmlWriter class, in the 2.0 release, it is recommended that you use the Create method to create new XmlWriter objects. The Create method allows you to specify the features to support on the created XmlWriter object, and it also allows you to take full advantage of the new features introduced in the 2.0 release.

NoteNote

When you use the XmlWriter methods to output XML, the elements and attributes will not be written until you call the Close method. For example, if you are using the XmlWriter to populate an XmlDocument, until you close the XmlWriter, you will not be able to observe the written elements and attributes in the target document.

For more information about the XmlWriter class, see Writing XML with the XmlWriter.

Not all synchronous methods have an equivalent asynchronous method. The following table shows the equivalent asynchronous usage for synchronous methods.

Synchronous Method

Equivalent Asynchronous method/code

WriteStartAttribute and WriteEndAttribute

Use WriteAttributeStringAsync method instead

WriteValue

Convert the value to string and call the WriteStringAsync method

Security Considerations

The following items are things to consider when working with the XmlWriter class.

  • Exceptions thrown by the XmlWriter can disclose path information that you do not want bubbled up to the application. Your applications must catch exceptions and process them appropriately.

  • The XmlWriter does not validate any data that is passed to the WriteDocType or WriteRaw methods. You should not pass arbitrary data to these methods.

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

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
© 2013 Microsoft. All rights reserved.