XmlDocument::CreateXmlDeclaration Method
Creates an XmlDeclaration node with the specified values.
Assembly: System.Xml (in System.Xml.dll)
public: virtual XmlDeclaration^ CreateXmlDeclaration( String^ version, String^ encoding, String^ standalone )
Parameters
- version
- Type: System::String
The version must be "1.0".
- encoding
- Type: System::String
The value of the encoding attribute. This is the encoding that is used when you save the XmlDocument to a file or a stream; therefore, it must be set to a string supported by the Encoding class, otherwise Save fails. If this is nullptr or String.Empty, the Save method does not write an encoding attribute on the XML declaration and therefore the default encoding, UTF-8, is used.
Note: If the XmlDocument is saved to either a TextWriter or an XmlTextWriter, this encoding value is discarded. Instead, the encoding of the TextWriter or the XmlTextWriter is used. This ensures that the XML written out can be read back using the correct encoding.
- standalone
- Type: System::String
The value must be either "yes" or "no". If this is nullptr or String.Empty, the Save method does not write a standalone attribute on the XML declaration.
| Exception | Condition |
|---|---|
| ArgumentException | The values of version or standalone are something other than the ones specified above. |
The attributes are exposed as special properties on the XmlDeclaration node, and not as XmlAttribute nodes.
Although this method creates the new object in the context of the document, it does not automatically add the new object to the document tree. To add the new object, you must explicitly call one of the node insert methods.
According to the W3C Extensible Markup Language (XML) 1.0 recommendation (www.w3.org/TR/1998/REC-xml-19980210), the XmlDeclaration node must be the first node in the document.
This method is a Microsoft extension to the Document Object Model (DOM).
The following example creates an XML declaration and adds it to the document.
#using <System.Xml.dll> using namespace System; using namespace System::IO; using namespace System::Xml; int main() { XmlDocument^ doc = gcnew XmlDocument; doc->LoadXml( "<book genre='novel' ISBN='1-861001-57-5'><title>Pride And Prejudice</title></book>" ); //Create an XML declaration. XmlDeclaration^ xmldecl; xmldecl = doc->CreateXmlDeclaration( "1.0", nullptr, nullptr ); //Add the new node to the document. XmlElement^ root = doc->DocumentElement; doc->InsertBefore( xmldecl, root ); Console::WriteLine( "Display the modified XML..." ); doc->Save( Console::Out ); }
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.