Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

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.

Exception Condition
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.Xml.dll>

using namespace System;
using namespace System::Xml;
int main()
{

   // Create the XmlDocument.
   XmlDocument^ doc = gcnew 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 = gcnew XmlTextWriter( "data.xml", nullptr );
   writer->Formatting = Formatting::Indented;
   doc->Save( writer );
}

Universal Windows Platform
Available since 10
.NET Framework
Available since 1.1
Return to top
Show:
© 2017 Microsoft