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

Définition

En cas de substitution dans une classe dérivée, écrit la déclaration DOCTYPE avec le nom et les attributs facultatifs spécifiés.

public:
 abstract void WriteDocType(System::String ^ name, System::String ^ pubid, System::String ^ sysid, System::String ^ subset);
public abstract void WriteDocType (string name, string pubid, string sysid, string subset);
public abstract void WriteDocType (string name, string? pubid, string? sysid, string? subset);
abstract member WriteDocType : string * string * string * string -> unit
Public MustOverride 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).

  • ou -

Une méthode XmlWriter a été appelée avant la fin d’une opération asynchrone précédente. Dans ce cas, l’exception InvalidOperationException est levée avec le message « Une opération asynchrone est déjà en cours ».

La valeur de name produit un contenu XML non valide.

Exemples

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

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

public class Sample {

  private const string filename = "sampledata.xml";

  public static void Main() {

     XmlWriterSettings settings = new XmlWriterSettings();
     settings.Indent = true;
     XmlWriter writer = XmlWriter.Create(filename, settings);

     // Write the Processing Instruction 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 the 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();
  }
}
Option Strict
Option Explicit

Imports System.IO
Imports System.Xml

Public Class Sample
    Private Const filename As String = "sampledata.xml"
    
  Public Shared Sub Main()

     Dim settings As XmlWriterSettings = new XmlWriterSettings()
     settings.Indent = true
     Dim writer As XmlWriter = XmlWriter.Create(filename, settings)
        
     ' Write the Processing Instruction 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 the 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()
        
    End Sub
End Class

Remarques

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

Important

Le XmlWriter code ne valide pas les données passées à la WriteDocType méthode. Vous ne devez pas transmettre de données arbitraires à cette méthode.

Pour obtenir la version asynchrone de cette méthode, consultez WriteDocTypeAsync.

S’applique à