XDocument.Save Method (TextWriter, SaveOptions)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Serialize this XDocument to a TextWriter, optionally disabling formatting.
Assembly: System.Xml.Linq (in System.Xml.Linq.dll)
Parameters
- textWriter
- Type: System.IO.TextWriter
The TextWriter to output the XML to.
- options
- Type: System.Xml.Linq.SaveOptions
A SaveOptions that specifies formatting behavior.
By default the options is set to SaveOptions.None, this option will remove all extraneous insignificant white space, and add appropriate insignificant white space so that the XML is properly indented.
If you want to save unindented XML, specify the SaveOptions.DisableFormatting flag for options. This will cause the writer to write all white spaces exactly as represented in the XML tree.
If you want to remove duplicate namespace declarations, specify the SaveOptions.OmitDuplicateNamespaces option.
The following example shows two uses of this method. The first use serializes the XDocument with formatting. The second preserves white space. Because the document has no white space in it as constructed, preserving white space outputs the XML without any indenting.
Dim output As New StringBuilder Dim doc As XDocument = _ <?xml version="1.0" encoding="utf-8"?> <Root><Child>content</Child></Root> Dim sb1 As StringBuilder = New StringBuilder() Using sr1 = New StringWriter(sb1) doc.Save(sr1, SaveOptions.None) output.Append(sb1.ToString()) output.Append(Environment.NewLine) End Using Dim sb2 As StringBuilder = New StringBuilder() Using sr2 = New StringWriter(sb2) doc.Save(sr2, SaveOptions.DisableFormatting) output.Append(sb2.ToString()) output.Append(Environment.NewLine) End Using OutputTextBlock.Text = output.ToString()