XElement.Save Method (TextWriter, SaveOptions)

Serialize this element to a TextWriter, optionally disabling formatting.

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

public void Save(
	TextWriter textWriter,
	SaveOptions options


Type: System.IO.TextWriter
The TextWriter to output the XML to.
Type: System.Xml.Linq.SaveOptions
A SaveOptions that specifies formatting behavior.

If you want to save unindented XML, specify the SaveOptions.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 SaveOptions.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.

If you want to remove duplicate namespace declarations, specify the SaveOptions.OmitDuplicateNamespaces option.

For more information, see the following topic in the full .NET Framework documentation: Preserving White Space While Serializing.

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.

StringBuilder output = new StringBuilder();
XElement root = XElement.Parse(@"<Root> <Child> Text </Child> </Root>");

using (StringWriter sw = new StringWriter())
    root.Save(sw, SaveOptions.DisableFormatting);


output.Append("=====" + Environment.NewLine);

using (StringWriter sw = new StringWriter())
    root.Save(sw, SaveOptions.None);
    output.Append(sw.ToString() + Environment.NewLine);

OutputTextBlock.Text = output.ToString();


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