XElement.Save Method (TextWriter, SaveOptions)

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Serialize this element to a TextWriter, optionally disabling formatting.

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

Public Sub Save (
	textWriter As TextWriter,
	options As SaveOptions
)

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.

If you want to save unindented XML, specify the DisableFormatting flag for options. This will cause the writer to write all white space exactly as represented in the XML tree.

If you want to save indented XML, do not specify the DisableFormatting flag for options. This will remove all extraneous insignificant white space, and add appropriate insignificant white space so that the XML is properly indented. This is the default behavior, and the behavior of the overloads of the Save methods that do not take options as a parameter.

For more information, see Preserving White Space while Loading or Parsing XML3 and Preserving White Space While Serializing1.

The following example shows two uses of this method. The first use preserves white space. The second serializes the XElement with formatting. Because the document has no white space in it as constructed, preserving white space outputs the XML without any indenting.


                Dim root As XElement = <Root><Child> Text </Child></Root>

Using sw = New StringWriter()
    root.Save(sw, SaveOptions.DisableFormatting)
    Console.WriteLine(sw.ToString())
End Using

Console.WriteLine("=====")

Using sw = New StringWriter()
    root.Save(sw, SaveOptions.None)
    Console.WriteLine(sw.ToString())
End Using

This example produces the following output:


                <?xml version="1.0" encoding="utf-16"?><Root><Child> Text </Child></Root>
=====
<?xml version="1.0" encoding="utf-16"?>
<Root>
  <Child> Text </Child>
</Root>

Universal Windows Platform
Available since 8
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
Show: