XmlDocument.CreateXmlDeclaration(String, String, String) メソッド

定義

指定した値を使用して、 XmlDeclaration ノードを作成します。Creates an XmlDeclaration node with the specified values.

public:
 virtual System::Xml::XmlDeclaration ^ CreateXmlDeclaration(System::String ^ version, System::String ^ encoding, System::String ^ standalone);
public virtual System.Xml.XmlDeclaration CreateXmlDeclaration (string version, string encoding, string standalone);
abstract member CreateXmlDeclaration : string * string * string -> System.Xml.XmlDeclaration
override this.CreateXmlDeclaration : string * string * string -> System.Xml.XmlDeclaration
Public Overridable Function CreateXmlDeclaration (version As String, encoding As String, standalone As String) As XmlDeclaration

パラメーター

version
String

バージョンは "1.0" にする必要があります。The version must be "1.0".

encoding
String

エンコーディング属性の値。The value of the encoding attribute. これは、 XmlDocument をファイルまたはストリームに保存するときに使用するエンコーディングです。したがって、 Encoding クラスでサポートされる文字列に設定する必要があります。それ以外の場合、 Save(String) は失敗します。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(String) fails. この値が null または String.Empty の場合は、 Save メソッドが XML 宣言にエンコーディング属性を書き込まないため、既定のエンコーディング UTF-8 が使用されます。If this is null 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.

メモ : XmlDocumentTextWriter または XmlTextWriterに保存される場合、このエンコーディング値は破棄されます。Note: If the XmlDocument is saved to either a TextWriter or an XmlTextWriter, this encoding value is discarded. 代わりに、 TextWriter または XmlTextWriter のエンコーディングが使用されます。Instead, the encoding of the TextWriter or the XmlTextWriter is used. これにより、正しいエンコーディングを使用して、書き込まれた XML を読み戻すことができます。This ensures that the XML written out can be read back using the correct encoding.

standalone
String

この値は、"yes" または "no" のいずれかにする必要があります。The value must be either "yes" or "no". この値が null または String.Empty の場合、 Save メソッドは XML 宣言にスタンドアロン属性を書き込みません。If this is null or String.Empty, the Save method does not write a standalone attribute on the XML declaration.

戻り値

XmlDeclaration

新しい XmlDeclaration ノード。The new XmlDeclaration node.

例外

version または standalone の値は上記で指定したものとは別のものです。The values of version or standalone are something other than the ones specified above.

次の例では、XML 宣言を作成し、それをドキュメントに追加します。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 );
}

using System;
using System.IO;
using System.Xml;

public class Sample
{
  public static void Main()
  {
    XmlDocument doc = new 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",null,null);

    //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);
  }
}
Option Explicit
Option Strict

Imports System.IO
Imports System.Xml

Public Class Sample
    
    Public Shared Sub Main()
        Dim doc As New XmlDocument()
        doc.LoadXml("<book genre='novel' ISBN='1-861001-57-5'>" & _
                    "<title>Pride And Prejudice</title>" & _
                    "</book>")
        
        'Create an XML declaration. 
        Dim xmldecl As XmlDeclaration
        xmldecl = doc.CreateXmlDeclaration("1.0", Nothing, Nothing)
        
        'Add the new node to the document.
        Dim root As XmlElement = doc.DocumentElement
        doc.InsertBefore(xmldecl, root)
        
        Console.WriteLine("Display the modified XML...")
        doc.Save(Console.Out)
    End Sub
End Class

注釈

属性は、XmlAttribute ノードとしてではなく、XmlDeclaration ノードでは特別なプロパティとして公開されます。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. 新しいオブジェクトを追加するには、ノードの挿入メソッドの1つを明示的に呼び出す必要があります。To add the new object, you must explicitly call one of the node insert methods.

W3C拡張マークアップ言語 (XML) 1.0 の推奨事項に従って、XmlDeclaration ノードはドキュメントの最初のノードである必要があります。According to the W3C Extensible Markup Language (XML) 1.0 recommendation, the XmlDeclaration node must be the first node in the document.

このメソッドは、ドキュメントオブジェクトモデル (DOM) の Microsoft 拡張機能です。This method is a Microsoft extension to the Document Object Model (DOM).

適用対象

こちらもご覧ください