Export (0) Print
Expand All

XmlWriter.Create Method (StringBuilder, XmlWriterSettings)

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

Namespace:  System.Xml
Assembly:  System.Xml (in System.Xml.dll)

public static XmlWriter Create(
	StringBuilder output,
	XmlWriterSettings settings
)

Parameters

output
Type: System.Text.StringBuilder
The StringBuilder to which to write to. Content written by the XmlWriter is appended to the StringBuilder.
settings
Type: System.Xml.XmlWriterSettings
The XmlWriterSettings object used to configure the new XmlWriter instance. If this is null, a XmlWriterSettings with default settings is used.

Return Value

Type: System.Xml.XmlWriter
An XmlWriter object.

ExceptionCondition
ArgumentNullException

The builder value is null.

The following example navigates through the stream to determine the current node type, and then uses XmlWriter to output the XmlReader content.


StringBuilder output = new StringBuilder();

String xmlString =
        @"<?xml version='1.0'?>
        <!-- This is a sample XML document -->
        <Items>
          <Item>test with a child element <more/> stuff</Item>
        </Items>";
// Create an XmlReader
using (XmlReader reader = XmlReader.Create(new StringReader(xmlString)))
{
    XmlWriterSettings ws = new XmlWriterSettings();
    ws.Indent = true;
    using (XmlWriter writer = XmlWriter.Create(output, ws))
    {

        // Parse the file and display each of the nodes.
        while (reader.Read())
        {
            switch (reader.NodeType)
            {
                case XmlNodeType.Element:
                    writer.WriteStartElement(reader.Name);
                    break;
                case XmlNodeType.Text:
                    writer.WriteString(reader.Value);
                    break;
                case XmlNodeType.XmlDeclaration:
                case XmlNodeType.ProcessingInstruction:
                    writer.WriteProcessingInstruction(reader.Name, reader.Value);
                    break;
                case XmlNodeType.Comment:
                    writer.WriteComment(reader.Value);
                    break;
                case XmlNodeType.EndElement:
                    writer.WriteFullEndElement();
                    break;
            }
        }

    }
}
OutputTextBlock.Text = output.ToString();


Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

ADD
Show:
© 2014 Microsoft