XmlTextWriter.WriteDocType(String, String, String, String) Méthode

Définition

Écrit la déclaration DOCTYPE avec le nom et les attributs facultatifs spécifiés.

public:
 override void WriteDocType(System::String ^ name, System::String ^ pubid, System::String ^ sysid, System::String ^ subset);
public override void WriteDocType (string name, string? pubid, string? sysid, string? subset);
public override void WriteDocType (string name, string pubid, string sysid, string subset);
override this.WriteDocType : string * string * string * string -> unit
Public Overrides Sub WriteDocType (name As String, pubid As String, sysid As String, subset As String)

Paramètres

name
String

Nom de DOCTYPE. Ne doit pas être vide.

pubid
String

Si la valeur est non null, elle écrit également PUBLIC "pubid" "sysid", pubid et sysid étant remplacés par la valeur des arguments spécifiés.

sysid
String

Si pubid est null et que sysid est non null, elle écrit SYSTEM "sysid", sysid étant remplacé par la valeur de cet argument.

subset
String

Si la valeur est non null, elle écrit [subset] où subset est remplacé par la valeur de cet argument.

Exceptions

Cette méthode a été appelée en dehors du prologue (après l'élément racine).

name ou null est String.Empty.

  • ou - La valeur de name produit un contenu XML non valide.

Exemples

L’exemple suivant écrit un fichier XML représentant un livre.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   XmlTextWriter^ writer = nullptr;
   String^ filename = "sampledata.xml";
   writer = gcnew XmlTextWriter( filename, nullptr );
   
   //Use indenting for readability.
   writer->Formatting = Formatting::Indented;
   
   //Write the XML delcaration. 
   writer->WriteStartDocument();
   
   //Write the ProcessingInstruction node.
   String^ PItext = "type='text/xsl' href='book.xsl'";
   writer->WriteProcessingInstruction( "xml-stylesheet", PItext );
   
   //Write the DocumentType node.
   writer->WriteDocType( "book", nullptr, nullptr, "<!ENTITY h 'hardcover'>" );
   
   //Write a Comment node.
   writer->WriteComment( "sample XML" );
   
   //Write a root element.
   writer->WriteStartElement( "book" );
   
   //Write the genre attribute.
   writer->WriteAttributeString( "genre", "novel" );
   
   //Write the ISBN attribute.
   writer->WriteAttributeString( "ISBN", "1-8630-014" );
   
   //Write the title.
   writer->WriteElementString( "title", "The Handmaid's Tale" );
   
   //Write the style element.
   writer->WriteStartElement( "style" );
   writer->WriteEntityRef( "h" );
   writer->WriteEndElement();
   
   //Write the price.
   writer->WriteElementString( "price", "19.95" );
   
   //Write CDATA.
   writer->WriteCData( "Prices 15% off!!" );
   
   //Write the close tag for the root element.
   writer->WriteEndElement();
   writer->WriteEndDocument();
   
   //Write the XML to file and close the writer.
   writer->Flush();
   writer->Close();
   
   //Load the file into an XmlDocument to ensure well formed XML.
   XmlDocument^ doc = gcnew XmlDocument;
   
   //Preserve white space for readability.
   doc->PreserveWhitespace = true;
   
   //Load the file.
   doc->Load( filename );
   
   //Display the XML content to the console.
   Console::Write( doc->InnerXml );
}
using System;
using System.IO;
using System.Xml;

public class Sample
{
  private const string filename = "sampledata.xml";

  public static void Main()
  {
     XmlTextWriter writer = null;

     writer = new XmlTextWriter (filename, null);
     //Use indenting for readability.
     writer.Formatting = Formatting.Indented;

     //Write the XML delcaration.
     writer.WriteStartDocument();

     //Write the ProcessingInstruction node.
     String PItext="type='text/xsl' href='book.xsl'";
     writer.WriteProcessingInstruction("xml-stylesheet", PItext);

     //Write the DocumentType node.
     writer.WriteDocType("book", null , null, "<!ENTITY h 'hardcover'>");

     //Write a Comment node.
     writer.WriteComment("sample XML");

     //Write a root element.
     writer.WriteStartElement("book");

     //Write the genre attribute.
     writer.WriteAttributeString("genre", "novel");

     //Write the ISBN attribute.
     writer.WriteAttributeString("ISBN", "1-8630-014");

     //Write the title.
     writer.WriteElementString("title", "The Handmaid's Tale");

     //Write the style element.
     writer.WriteStartElement("style");
     writer.WriteEntityRef("h");
     writer.WriteEndElement();

     //Write the price.
     writer.WriteElementString("price", "19.95");

     //Write CDATA.
     writer.WriteCData("Prices 15% off!!");

     //Write the close tag for the root element.
     writer.WriteEndElement();

     writer.WriteEndDocument();

     //Write the XML to file and close the writer.
     writer.Flush();
     writer.Close();

     //Load the file into an XmlDocument to ensure well formed XML.
     XmlDocument doc = new XmlDocument();
     //Preserve white space for readability.
     doc.PreserveWhitespace = true;
     //Load the file.
     doc.Load(filename);

     //Display the XML content to the console.
     Console.Write(doc.InnerXml);
  }
}
Option Explicit
Option Strict

Imports System.IO
Imports System.Xml

Public Class Sample
    Private Shared filename As String = "sampledata.xml"
    Public Shared Sub Main()
        Dim writer As XmlTextWriter = Nothing
        
        writer = New XmlTextWriter(filename, Nothing)
        'Use indenting for readability.
        writer.Formatting = Formatting.Indented
        
        'Write the XML delcaration. 
        writer.WriteStartDocument()
        
        'Write the ProcessingInstruction node.
        Dim PItext As String = "type='text/xsl' href='book.xsl'"
        writer.WriteProcessingInstruction("xml-stylesheet", PItext)
        
        'Write the DocumentType node.
        writer.WriteDocType("book", Nothing, Nothing, "<!ENTITY h 'hardcover'>")
        
        'Write a Comment node.
        writer.WriteComment("sample XML")
        
        'Write a root element.
        writer.WriteStartElement("book")
        
        'Write the genre attribute.
        writer.WriteAttributeString("genre", "novel")
        
        'Write the ISBN attribute.
        writer.WriteAttributeString("ISBN", "1-8630-014")
        
        'Write the title.
        writer.WriteElementString("title", "The Handmaid's Tale")
        
        'Write the style element.
        writer.WriteStartElement("style")
        writer.WriteEntityRef("h")
        writer.WriteEndElement()
        
        'Write the price.
        writer.WriteElementString("price", "19.95")
        
        'Write CDATA.
        writer.WriteCData("Prices 15% off!!")
        
        'Write the close tag for the root element.
        writer.WriteEndElement()
        
        writer.WriteEndDocument()
        
        'Write the XML to file and close the writer.
        writer.Flush()
        writer.Close()
        
        'Load the file into an XmlDocument to ensure well formed XML.
        Dim doc As New XmlDocument()
        'Preserve white space for readability.
        doc.PreserveWhitespace = True
        'Load the file.
        doc.Load(filename)
        
        'Display the XML content to the console.
        Console.Write(doc.InnerXml)
    End Sub
End Class

Remarques

Notes

À compter de la .NET Framework 2.0, nous vous recommandons de créer XmlWriter des instances à l’aide de la méthode et de la XmlWriter.Create XmlWriterSettings classe pour tirer parti de nouvelles fonctionnalités.

Cette méthode ne vérifie pas les caractères non valides dans pubid, sysid ou subset. Il ne vérifie pas également que le sous-ensemble interne est bien formé.

Important

Le XmlTextWriter n’valide aucune donnée transmise à la WriteDocType méthode. Vous ne devez pas transmettre de données arbitraires à cette méthode.

S’applique à