XmlDocument::Save Method (String)
Saves the XML document to the specified file.
Assembly: System.Xml (in System.Xml.dll)
Parameters
- filename
- Type: System::String
The location of the file where you want to save the document.
| 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 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();
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, modifies it, and then saves it 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. White space is // preserved (no white space). doc->PreserveWhitespace = true; doc->Save( "data.xml" ); }
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, 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.