XmlDocument.Save Method (String)

Saves the XML document to the specified file. If the specified file exists, this method overwrites it.

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

Public Overridable Sub Save ( _
	filename As String _


Type: System.String

The location of the file where you want to save the document.


The operation would not result in a well formed XML document (for example, no document element or duplicate XML declarations).

White space is preserved in the output file only if PreserveWhitespace is set to true.

The XmlDeclaration of the current XmlDocument object determines the encoding attribute in the saved document. The value of the encoding attribute is taken from the XmlDeclaration.Encoding property. If the XmlDocument does not have an XmlDeclaration, or if the XmlDeclaration does not have an encoding attribute, the saved document will not have one either.

When the document is saved, xmlns attributes are generated to persist the node identity (local name + namespace URI) correctly. For example, the following C# code

 XmlDocument doc = new XmlDocument();

generates this xmls attribute <item xmls="urn:1"/>.

This method is a Microsoft extension to the Document Object Model (DOM).

Note that only the Save method enforces a well-formed XML document. All other Save overloads only guarantee a well-formed fragment.

The following example loads XML into an XmlDocument object, modifies it, and then saves it to a file named data.xml.

Imports System
Imports System.Xml

public class Sample 

  public shared sub Main() 

    ' Create the XmlDocument. 
    Dim doc as XmlDocument = new XmlDocument()

    ' Add a price element. 
    Dim newElem as XmlElement = doc.CreateElement("price")
    newElem.InnerText = "10.95"

    ' Save the document to a file. White space is 
    ' preserved (no white space).
    doc.PreserveWhitespace = true

  end sub
end class

The data.xml file will contain the following XML: <item><name>wrench</name><price>10.95</price></item>.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2014 Microsoft