Condividi tramite


XmlDocument.CreateDocumentType(String, String, String, String) Metodo

Definizione

Restituisce un nuovo oggetto XmlDocumentType.

public:
 virtual System::Xml::XmlDocumentType ^ CreateDocumentType(System::String ^ name, System::String ^ publicId, System::String ^ systemId, System::String ^ internalSubset);
public virtual System.Xml.XmlDocumentType CreateDocumentType (string name, string? publicId, string? systemId, string? internalSubset);
public virtual System.Xml.XmlDocumentType CreateDocumentType (string name, string publicId, string systemId, string internalSubset);
abstract member CreateDocumentType : string * string * string * string -> System.Xml.XmlDocumentType
override this.CreateDocumentType : string * string * string * string -> System.Xml.XmlDocumentType
Public Overridable Function CreateDocumentType (name As String, publicId As String, systemId As String, internalSubset As String) As XmlDocumentType

Parametri

name
String

Nome del tipo di documento.

publicId
String

Identificatore pubblico del tipo di documento o null. È possibile specificare un URI pubblico e anche un identificatore di sistema per individuare la posizione del sottoinsieme DTD esterno.

systemId
String

Identificatore di sistema del tipo di documento o null. Specifica l'URL della posizione del file relativa al sottoinsieme DTD esterno.

internalSubset
String

Sottoinsieme DTD interno del tipo di documento o null.

Restituisce

Nuovo oggetto XmlDocumentType.

Esempio

Nell'esempio seguente viene creato un nodo DocumentType e lo aggiunge a un documento XML.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   
   //Create the XmlDocument.
   XmlDocument^ doc = gcnew XmlDocument;
   
   //Create a document type node and  
   //add it to the document.
   XmlDocumentType^ doctype;
   doctype = doc->CreateDocumentType( "book", nullptr, nullptr, "<!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 );
}

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

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
End Class

Commenti

Il nodo restituito avrà analizzato Entities e Notations raccolte.

Anche se questo metodo crea il nuovo oggetto nel contesto del documento, non aggiunge automaticamente il nuovo oggetto all'albero del documento. Per aggiungere il nuovo oggetto, è necessario chiamare in modo esplicito uno dei metodi di inserimento del nodo.

Secondo la raccomandazione W3C Extensible Markup Language (XML) 1.0, i nodi DocumentType sono consentiti solo nei nodi documento. Ogni XmlDocument oggetto può avere un solo nodo DocumentType. Il nodo DocumentType deve essere inserito anche prima dell'elemento radice dell'oggetto XmlDocument (se il documento ha già un elemento radice, non è possibile aggiungere un nodo DocumentType). Se i parametri passati non vengono combinati per compilare un oggetto valido XmlDocumentType, viene generata un'eccezione.

Note per gli eredi

Questo metodo ha una richiesta di ereditarietà. L'attendibilità completa è necessaria per eseguire l'override del CreateDocumentType metodo.

Questo metodo è un'estensione Microsoft per il modello a oggetti document (DOM).

Si applica a