次の方法で共有


XmlDocument.CreateDocumentType メソッド

新しい XmlDocumentType オブジェクトを返します。

Public Overridable Function CreateDocumentType( _
   ByVal name As String, _   ByVal publicId As String, _   ByVal systemId As String, _   ByVal internalSubset As String _) As XmlDocumentType
[C#]
public virtual XmlDocumentType CreateDocumentType(stringname,stringpublicId,stringsystemId,stringinternalSubset);
[C++]
public: virtual XmlDocumentType* CreateDocumentType(String* name,String* publicId,String* systemId,String* internalSubset);
[JScript]
public function CreateDocumentType(
   name : String,publicId : String,systemId : String,internalSubset : String) : XmlDocumentType;

パラメータ

  • name
    ドキュメントの種類の名前。
  • publicId
    ドキュメントの種類のパブリック ID。 null 参照 (Visual Basic では Nothing) 。
  • systemId
    ドキュメントの種類のシステム ID。または null 参照 (Visual Basic では Nothing) 。
  • internalSubset
    ドキュメントの種類の DTD 内部サブセット。または null 参照 (Visual Basic では Nothing) 。

戻り値

新しい XmlDocumentType

解説

返されたノードには、解析済みの Entities コレクションおよび Notations コレクションがあります。

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

W3C 勧告『Extensible Markup Language (XML) 1.0』(www.w3.org/TR/1998/REC-xml-19980210) に従って、DocumentType ノードは Document ノード内だけで使用できます。それぞれの XmlDocument は、DocumentType ノードを 1 つだけ持つことができます。DocumentType ノードも XmlDocument のルート要素より前に挿入する必要があります。つまり、ドキュメントに既にルート要素がある場合は、DocumentType ノードを追加できません。

渡されたパラメータを組み合わせても有効な XmlDocumentType が作成されない場合は、例外がスローされます。

継承時の注意: このメソッドには継承確認要求があります。 CreateDocumentType メソッドをオーバーライドするには、完全な信頼が必要です。詳細については、「 継承確認要求 」を参照してください。

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

使用例

[Visual Basic, C#, C++] DocumentType ノードを作成し、XML ドキュメントに追加する例を次に示します。

 
Option Explicit
Option Strict

Imports System
Imports System.IO
Imports System.Xml

Public Class Sample
    
    Public Shared Sub Main()
        'Create the XmlDocument.
        Dim doc As New XmlDocument()
        
        'Create a document type node and  
        'add it to the document.
        Dim doctype As XmlDocumentType
        doctype = doc.CreateDocumentType("book", Nothing, Nothing, "<!ELEMENT book ANY>")
        doc.AppendChild(doctype)
        
        'Create the root element and 
        'add it to the document.
        doc.AppendChild(doc.CreateElement("book"))
        
        Console.WriteLine("Display the modified XML...")
        doc.Save(Console.Out)
    End Sub 'Main
End Class 'Sample

[C#] 
using System;
using System.IO;
using System.Xml;

public class Sample
{
  public static void Main()
  {
    //Create the XmlDocument.
    XmlDocument doc = new XmlDocument();

    //Create a document type node and  
    //add it to the document.
    XmlDocumentType doctype;
    doctype = doc.CreateDocumentType("book", null, null, "<!ELEMENT book ANY>");
    doc.AppendChild(doctype);

    //Create the root element and 
    //add it to the document.
    doc.AppendChild(doc.CreateElement("book"));

    Console.WriteLine("Display the modified XML...");
    doc.Save(Console.Out);
  }
}

[C++] 
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;

int main()
{
    //Create the XmlDocument.
    XmlDocument* doc = new XmlDocument();

    //Create a document type node and  
    //add it to the document.
    XmlDocumentType* doctype;
    doctype = doc->CreateDocumentType(S"book", 0, 0, S"<!ELEMENT book ANY>");
    doc->AppendChild(doctype);

    //Create the root element and 
    //add it to the document.
    doc->AppendChild(doc->CreateElement(S"book"));

    Console::WriteLine(S"Display the modified XML...");
    doc->Save(Console::Out);
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

XmlDocument クラス | XmlDocument メンバ | System.Xml 名前空間