Freigeben über


XmlTextWriter.WriteDocType-Methode

Schreibt die DOCTYPE-Deklaration mit dem angegebenen Namen und optionalen Attributen.

Namespace: System.Xml
Assembly: System.Xml (in system.xml.dll)

Syntax

'Declaration
Public Overrides Sub WriteDocType ( _
    name As String, _
    pubid As String, _
    sysid As String, _
    subset As String _
)
'Usage
Dim instance As XmlTextWriter
Dim name As String
Dim pubid As String
Dim sysid As String
Dim subset As String

instance.WriteDocType(name, pubid, sysid, subset)
public override void WriteDocType (
    string name,
    string pubid,
    string sysid,
    string subset
)
public:
virtual void WriteDocType (
    String^ name, 
    String^ pubid, 
    String^ sysid, 
    String^ subset
) override
public void WriteDocType (
    String name, 
    String pubid, 
    String sysid, 
    String subset
)
public override function WriteDocType (
    name : String, 
    pubid : String, 
    sysid : String, 
    subset : String
)

Parameter

  • name
    Der Name des DOCTYPE. Dieser darf nicht leer sein.
  • pubid
    Bei einem Wert ungleich NULL wird auch PUBLIC "pubid" "sysid" geschrieben, wobei pubid und sysid durch die Werte der angegebenen Argumente ersetzt werden.
  • sysid
    Wenn pubid NULL und sysid ungleich NULL ist, wird SYSTEM "sysid" geschrieben, wobei sysid durch den Wert dieses Arguments ersetzt wird.
  • subset
    Wenn nicht NULL, wird [subset] geschrieben, wobei subset durch den Wert dieses Arguments ersetzt wird.

Ausnahmen

Ausnahmetyp Bedingung

InvalidOperationException

Diese Methode wurde außerhalb des Prologs (nach dem Stammelement) aufgerufen.

ArgumentException

name oder NULL (Nothing in Visual Basic) ist String.Empty.

– oder –

Der Wert für name würde zu ungültigem XML-Code führen.

Hinweise

Hinweis

Die empfohlene Vorgehensweise für die Version Microsoft .NET Framework, Version 2.0 besteht darin, mithilfe der System.Xml.XmlWriter.Create-Methode und der XmlWriterSettings-Klasse XmlWriter-Instanzen zu erstellen. So können Sie alle neuen Features dieser Version in vollem Umfang nutzen. Weitere Informationen finden Sie unter Erstellen von XML-Writern.

Diese Methode führt in pubid, sysid oder subset keine Überprüfung auf ungültige Zeichen aus. Sie überprüft außerdem nicht, ob die interne Teilmenge wohlgeformt ist.

SicherheitshinweisSicherheitshinweis

Der XmlTextWriter führt keine Validierung der an die WriteDocType-Methode übergebenen Daten durch. Sie sollten keine willkürlichen Daten an diese Methode übergeben.

Beispiel

Im folgenden Beispiel wird eine XML-Datei geschrieben, die ein Buch darstellt.

Option Explicit
Option Strict

Imports System
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 'Main 
End Class 'Sample
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);  

  }

}
#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 );
}
import System.*;
import System.IO.*;
import System.Xml.*;

public class Sample
{
    private static String fileName = "sampledata.xml";

    public static void main(String[] args)
    {
        XmlTextWriter writer = null;
        writer = new XmlTextWriter(fileName, null);

        //Use indenting for readability.
        writer.set_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.set_PreserveWhitespace(true);

        //Load the file.
        doc.Load(fileName);

        //Display the XML content to the console.
        Console.Write(doc.get_InnerXml());
    } //main 
} //Sample

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

XmlTextWriter-Klasse
XmlTextWriter-Member
System.Xml-Namespace