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

定義

指定した値を使用して、XmlDeclaration ノードを作成します。

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);
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" にする必要があります。

encoding
String

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

メモ : XmlDocumentTextWriter または XmlTextWriterに保存される場合、このエンコーディング値は破棄されます。 代わりに、 TextWriter または XmlTextWriter のエンコーディングが使用されます。 これにより、正しいエンコーディングを使用して、書き込まれた XML を読み戻すことができます。

standalone
String

この値は、"yes" または "no" のいずれかにする必要があります。 この値が null または String.Empty の場合、Save メソッドは XML 宣言にスタンドアロン属性を書き込みません。

戻り値

新しい XmlDeclaration ノード。

例外

version または standalone の値は上記で指定したものとは別のものです。

次の例では、XML 宣言を作成し、それをドキュメントに追加します。

#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

注釈

属性は、ノードとしてではなく、ノード上の XmlDeclaration 特別なプロパティとして XmlAttribute 公開されます。

このメソッドはドキュメントのコンテキストで新しいオブジェクトを作成しますが、ドキュメント ツリーに新しいオブジェクトを自動的に追加することはありません。 新しいオブジェクトを追加するには、ノード挿入メソッドのいずれかを明示的に呼び出す必要があります。

W3C 拡張マークアップ言語 (XML) 1.0 の推奨事項に従って、ノードは XmlDeclaration ドキュメントの最初のノードである必要があります。

このメソッドは、ドキュメント オブジェクト モデル (DOM) のMicrosoft拡張機能です。

適用対象

こちらもご覧ください