SaveOptions Enumeration (System.Xml.Linq)

Switch View :
ScriptFree
.NET Framework Class Library
SaveOptions Enumeration

Specifies serialization options.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

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

Visual Basic
<FlagsAttribute> _
Public Enumeration SaveOptions
C#
[FlagsAttribute]
public enum SaveOptions
Visual C++
[FlagsAttribute]
public enum class SaveOptions
F#
[<FlagsAttribute>]
type SaveOptions
Members

Member name Description
Supported by the XNA Framework None Format (indent) the XML while serializing.
Supported by the XNA Framework DisableFormatting Preserve all insignificant white space while serializing.
OmitDuplicateNamespaces Remove the duplicate namespace declarations while serializing.
Remarks

If you disable formatting when serializing, all insignificant white space in the XML tree is serialized as is. If you do not disable formatting, then all insignificant white space in the XML tree is discarded, and the XML is formatted (indented) as it is serialized.

This type allows you to control how LINQ to XML handles white space when serializing. For more information, see Preserving White Space while Loading or Parsing XML and Preserving White Space While Serializing.

Examples

The following example shows two ways to serialize. The first preserves insignificant white space in the XML tree. The second serializes the XElement with formatting.

C#
string str;
XElement root = XElement.Parse(@"<Root> <Child> Text </Child> </Root>");

root.Save("Root.xml", SaveOptions.DisableFormatting);
str = File.ReadAllText("Root.xml");
Console.WriteLine(str);

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

root.Save("Root.xml", SaveOptions.None);
str = File.ReadAllText("Root.xml");
Console.WriteLine(str);
Visual Basic
Dim str As String
Dim root As XElement = <Root><Child> Text </Child></Root>

root.Save("Root.xml", SaveOptions.DisableFormatting)
str = File.ReadAllText("Root.xml")
Console.WriteLine(str)

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

root.Save("Root.xml", SaveOptions.None)
str = File.ReadAllText("Root.xml")
Console.WriteLine(str)

This example produces the following output:

<?xml version="1.0" encoding="utf-8"?><Root><Child> Text </Child></Root>
=====
<?xml version="1.0" encoding="utf-8"?>
<Root>
  <Child> Text </Child>
</Root>
Version Information

.NET Framework

Supported in: 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
See Also

Reference

Other Resources