XmlWriter.Create Method (StringBuilder, XmlWriterSettings)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Creates a new XmlWriter instance using the StringBuilder and XmlWriterSettings objects.
Assembly: System.Xml (in System.Xml.dll)
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.
| Exception | Condition |
|---|---|
| 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();
Show: