Metodo XmlTextWriter.WriteDocType (System.Xml)

Cambia visualizzazione:
ScriptFree
Riferimento a .NET Framework
Metodo XmlTextWriter.WriteDocType

Scrive la dichiarazione DOCTYPE con il nome e gli attributi opzionali specificati.

Spazio dei nomi: System.Xml
Assembly: System.Xml (in system.xml.dll)

Sintassi

Visual Basic - (Dichiarazione)
Public Overrides Sub WriteDocType ( _
	name As String, _
	pubid As String, _
	sysid As String, _
	subset As String _
)
Visual Basic (Utilizzo)
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)
C#
public override void WriteDocType (
	string name,
	string pubid,
	string sysid,
	string subset
)
C++
public:
virtual void WriteDocType (
	String^ name, 
	String^ pubid, 
	String^ sysid, 
	String^ subset
) override
J#
public void WriteDocType (
	String name, 
	String pubid, 
	String sysid, 
	String subset
)
JScript
public override function WriteDocType (
	name : String, 
	pubid : String, 
	sysid : String, 
	subset : String
)

Parametri

name

Nome per la dichiarazione DOCTYPE. È necessario che tale parametro sia non vuoto.

pubid

Se questo parametro è non null, viene scritto anche PUBLIC "pubid" "sysid", dove pubid e sysid vengono sostituiti con il valore degli argomenti specificati.

sysid

Se il parametro pubid è null e il parametro sysid è non null, viene scritto SYSTEM "sysid", dove sysid viene sostituito con il valore di questo argomento.

subset

Se questo parametro è non null, viene scritto anche l'oggetto [subset], dove subset viene sostituito con il valore di questo argomento.

Eccezioni

Tipo di eccezione Condizione

InvalidOperationException

Questo metodo è stato chiamato fuori dal prologo, ovvero dopo l'elemento di primo livello.

ArgumentException

name è riferimento null (Nothing in Visual Basic) o String.Empty.

-oppure-

Il risultato del valore del parametro name è un documento XML non valido.

Note

NotaNota

Nella versione Microsoft .NET Framework versione 2.0 è consigliabile creare istanze di XmlWriter utilizzando il metodo System.Xml.XmlWriter.Create e la classe XmlWriterSettings. In questo modo è possibile sfruttare completamente tutte le nuove funzionalità introdotte in questa versione. Per ulteriori informazioni, vedere Creazione di writer XML.

Questo metodo non esegue il controllo dei caratteri non validi nel parametro pubid, sysid o subset. Inoltre, non verifica la validità del formato del sottoinsieme interno.

Nota sulla protezioneNota sulla protezione

La classe XmlTextWriter non convalida i dati passati al metodo WriteDocType. Non passare dati arbitrari a tale metodo.

Esempio

Nell'esempio seguente viene scritto un file XML che rappresenta un libro.

Visual Basic
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

C#
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);  

  }

}

C++
#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 );
}


J#
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

Piattaforme

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

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema.

Informazioni sulla versione

.NET Framework

Supportato in: 2.0 1.1 1.0

.NET Compact Framework

Supportato in: 2.0 1.0
Vedere anche