XmlDocument.Save Method (String)


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

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 virtual void Save(
	string filename


Type: System.String

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

Exception Condition

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.

using System;
using System.Xml;

public class Sample {

  public static void Main() {

    // Create the XmlDocument.
    XmlDocument doc = new XmlDocument();

    // Add a price element.
    XmlElement newElem = doc.CreateElement("price");
    newElem.InnerText = "10.95";

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


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

.NET Framework
Available since 1.1
Return to top