XmlTextWriter.WriteStartDocument Metodo

Definizione

Scrive la dichiarazione XML con la versione "1.0".

Overload

WriteStartDocument()

Scrive la dichiarazione XML con la versione "1.0".

WriteStartDocument(Boolean)

Scrive la dichiarazione XML con la versione "1.0" e l'attributo standalone.

Commenti

Nota

A partire dalla .NET Framework 2.0, è consigliabile creare XmlWriter istanze usando il metodo e la XmlWriter.Create XmlWriterSettings classe per sfruttare le nuove funzionalità.

WriteStartDocument()

Scrive la dichiarazione XML con la versione "1.0".

public:
 override void WriteStartDocument();
public override void WriteStartDocument ();
override this.WriteStartDocument : unit -> unit
Public Overrides Sub WriteStartDocument ()

Eccezioni

Non si tratta del primo metodo di scrittura chiamato dopo il costruttore.

Esempio

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

#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

Commenti

Nota

A partire dalla .NET Framework 2.0, è consigliabile creare XmlWriter istanze usando il metodo e la XmlWriter.Create XmlWriterSettings classe per sfruttare le nuove funzionalità.

Il livello di codifica del documento è determinato dal modo in cui viene implementato il writer. Ad esempio, se nel costruttore viene specificato XmlTextWriter un Encoding oggetto, questo determina il valore dell'attributo di codifica. Questo metodo non crea un attributo autonomo.

Quando WriteStartDocument viene chiamato il writer convalida che ciò che si sta scrivendo è un documento XML ben formato. Ad esempio, verifica che la dichiarazione XML sia il primo nodo, che esiste un solo elemento a livello radice e così via. Se questo metodo non viene chiamato, il writer presuppone che un frammento XML venga scritto e non applichi regole a livello radice.

Se WriteStartDocument è stato chiamato e quindi viene usato il WriteProcessingInstruction metodo per creare un'altra dichiarazione XML, viene generata un'eccezione.

Si applica a

WriteStartDocument(Boolean)

Scrive la dichiarazione XML con la versione "1.0" e l'attributo standalone.

public:
 override void WriteStartDocument(bool standalone);
public override void WriteStartDocument (bool standalone);
override this.WriteStartDocument : bool -> unit
Public Overrides Sub WriteStartDocument (standalone As Boolean)

Parametri

standalone
Boolean

Se il parametro ha valore true, viene scritto "standalone=yes"; se il parametro ha valore false, viene scritto "standalone=no".

Eccezioni

Non si tratta del primo metodo di scrittura chiamato dopo il costruttore.

Commenti

Nota

A partire dalla .NET Framework 2.0, è consigliabile creare XmlWriter istanze usando il metodo e la XmlWriter.Create XmlWriterSettings classe per sfruttare le nuove funzionalità.

Il livello di codifica del documento è determinato dal modo in cui viene implementato il writer. Ad esempio, se nel costruttore viene specificato XmlTextWriter un Encoding oggetto, questo determina il valore dell'attributo di codifica.

Quando WriteStartDocument viene chiamato il writer convalida che ciò che si sta scrivendo è un documento XML ben formato. Ad esempio, verifica che la dichiarazione XML sia il primo nodo, che esiste un solo elemento a livello radice e così via. Se questo metodo non viene chiamato, il writer presuppone che un frammento XML venga scritto e non applichi regole a livello radice.

Se WriteStartDocument è stato chiamato e quindi viene usato il WriteProcessingInstruction metodo per creare un'altra dichiarazione XML, viene generata un'eccezione.

Si applica a