1 out of 1 rated this helpful - Rate this topic

XmlDocument.Save Method (XmlWriter)

Saves the XML document to the specified XmlWriter.

Namespace:  System.Xml
Assembly:  System.Xml (in System.Xml.dll)
public virtual void Save(
	XmlWriter w
)

Parameters

w
Type: System.Xml.XmlWriter

The XmlWriter to which you want to save.

ExceptionCondition
XmlException

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

White space is preserved only if PreserveWhitespace is set to true.

The encoding on the XmlWriter determines the encoding that is written out (The encoding of the XmlDeclaration node is replaced by the encoding of the XmlWriter). If there was no encoding specified on the XmlWriter, the XmlDocument is saved without an encoding attribute.

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

 XmlDocument doc = new XmlDocument();
 doc.AppendChild(doc.CreateElement("item","urn:1"));
 doc.Save(Console.Out);

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 and saves it out to a file.

using System;
using System.Xml;

public class Sample {

  public static void Main() {

    // Create the XmlDocument.
    XmlDocument doc = new XmlDocument();
    doc.LoadXml("<item><name>wrench</name></item>");

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

    // Save the document to a file and auto-indent the output.
    XmlTextWriter writer = new XmlTextWriter("data.xml",null);
    writer.Formatting = Formatting.Indented;
    doc.Save(writer);
  }
}

.NET Framework

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

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, 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.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.