Condividi tramite


XmlWriter.WriteStartElement Metodo

Definizione

Quando ne viene eseguito l'override in una classe derivata, scrive il tag di inizio specificato.

Overload

WriteStartElement(String)

Quando ne viene eseguito l'override in una classe derivata, scrive un tag di inizio con il nome locale specificato.

WriteStartElement(String, String)

Quando ne viene eseguito l'override in una classe derivata, scrive il tag di inizio specificato e lo associa allo spazio dei nomi indicato.

WriteStartElement(String, String, String)

Quando ne viene eseguito l'override in una classe derivata, scrive il tag di inizio specificato e lo associa allo spazio dei nomi e al prefisso specificati.

Commenti

Per la versione asincrona di questo metodo, vedere WriteStartElementAsync.

WriteStartElement(String)

Quando ne viene eseguito l'override in una classe derivata, scrive un tag di inizio con il nome locale specificato.

public:
 void WriteStartElement(System::String ^ localName);
public void WriteStartElement (string localName);
member this.WriteStartElement : string -> unit
Public Sub WriteStartElement (localName As String)

Parametri

localName
String

Nome locale dell'elemento.

Eccezioni

Il writer viene chiuso.

-oppure-

È stato chiamato un metodo della classe XmlWriter prima del completamento di un'operazione asincrona precedente. In questo caso, viene generata l'eccezione InvalidOperationException con il messaggio "È già in corso un'operazione asincrona".

Nel buffer è presente un carattere XML valido che non è valido per la codifica di output. Ad esempio, se la codifica di output è ASCII, è necessario utilizzare solo caratteri dell'intervallo compreso tra 0 e 127 per nomi di elemento e di attributo. Il carattere non valido potrebbe essere nell'argomento di questo metodo o in un argomento di metodi precedenti che stanno scrivendo nel buffer. Tali caratteri vengono preceduti, quando possibile, da caratteri di escape costituiti da riferimenti a un'entità carattere, ad esempio in nodi di testo o valori di attributo. Tuttavia, il riferimento a un'entità di caratteri non è consentita in nomi di elemento e di attributo, commenti, istruzioni di elaborazione o sezioni CDATA.

Esempio

Nell'esempio seguente viene scritto un nodo XML.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   
   // Create a writer to write XML to the console.
   XmlWriterSettings^ settings = gcnew XmlWriterSettings;
   settings->Indent = true;
   settings->OmitXmlDeclaration = true;
   XmlWriter^ writer = XmlWriter::Create( Console::Out, settings );
   
   // Write the book element.
   writer->WriteStartElement( L"book" );
   
   // Write the title element.
   writer->WriteStartElement( L"title" );
   writer->WriteString( L"Pride And Prejudice" );
   writer->WriteEndElement();
   
   // Write the close tag for the root element.
   writer->WriteEndElement();
   
   // Write the XML and close the writer.
   writer->Close();
   return 1;
}
using System;
using System.IO;
using System.Xml;

public class Sample {

  public static void Main() {

     // Create a writer to write XML to the console.
     XmlWriterSettings settings = new XmlWriterSettings();
     settings.Indent = true;
     settings.OmitXmlDeclaration = true;
     XmlWriter writer = XmlWriter.Create(Console.Out, settings);

     // Write the book element.
     writer.WriteStartElement("book");

     // Write the title element.
     writer.WriteStartElement("title");
     writer.WriteString("Pride And Prejudice");
     writer.WriteEndElement();

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

     // Write the XML and close the writer.
     writer.Close();
  }
}
Option Explicit
Option Strict

Imports System.IO
Imports System.Xml

Public Class Sample
    
  Public Shared Sub Main()

     ' Create a writer to write XML to the console.
     Dim settings As XmlWriterSettings = new XmlWriterSettings()
     settings.Indent = true
     settings.OmitXmlDeclaration = true
     Dim writer As XmlWriter = XmlWriter.Create(Console.Out, settings)

     ' Write the book element.
     writer.WriteStartElement("book")
        
     ' Write the title element.
     writer.WriteStartElement("title")
     writer.WriteString("Pride And Prejudice")
     writer.WriteEndElement()
        
     ' Write the close tag for the root element.
     writer.WriteEndElement()
        
     ' Write the XML and close the writer.
     writer.Close()

  End Sub
End Class

Commenti

Per la versione asincrona di questo metodo, vedere WriteStartElementAsync.

Si applica a

WriteStartElement(String, String)

Quando ne viene eseguito l'override in una classe derivata, scrive il tag di inizio specificato e lo associa allo spazio dei nomi indicato.

public:
 void WriteStartElement(System::String ^ localName, System::String ^ ns);
public void WriteStartElement (string localName, string ns);
public void WriteStartElement (string localName, string? ns);
member this.WriteStartElement : string * string -> unit
Public Sub WriteStartElement (localName As String, ns As String)

Parametri

localName
String

Nome locale dell'elemento.

ns
String

URI dello spazio dei nomi da associare all'elemento. Se questo spazio dei nomi si trova già all'interno dell'ambito ed è associato a un prefisso, il writer scriverà automaticamente anche tale prefisso.

Eccezioni

Il writer viene chiuso.

-oppure-

È stato chiamato un metodo della classe XmlWriter prima del completamento di un'operazione asincrona precedente. In questo caso, viene generata l'eccezione InvalidOperationException con il messaggio "È già in corso un'operazione asincrona".

Nel buffer è presente un carattere XML valido che non è valido per la codifica di output. Ad esempio, se la codifica di output è ASCII, è necessario utilizzare solo caratteri dell'intervallo compreso tra 0 e 127 per nomi di elemento e di attributo. Il carattere non valido potrebbe essere nell'argomento di questo metodo o in un argomento di metodi precedenti che stanno scrivendo nel buffer. Tali caratteri vengono preceduti, quando possibile, da caratteri di escape costituiti da riferimenti a un'entità carattere, ad esempio in nodi di testo o valori di attributo. Tuttavia, il riferimento a un'entità di caratteri non è consentita in nomi di elemento e di attributo, commenti, istruzioni di elaborazione o sezioni CDATA.

Commenti

Dopo aver chiamato questo metodo, è possibile scrivere attributi o creare contenuto usando WriteComment, WriteStringo WriteStartElement per gli elementi figlio. È possibile chiudere l'elemento con WriteEndElement o WriteFullEndElement. Ad esempio, il codice C# seguente:

writer.WriteStartElement("item",null);  
writer.WriteString("some text");  
writer.WriteEndElement();  

Genera l'output seguente:

<item>some text</item>  

Per la versione asincrona di questo metodo, vedere WriteStartElementAsync.

Si applica a

WriteStartElement(String, String, String)

Quando ne viene eseguito l'override in una classe derivata, scrive il tag di inizio specificato e lo associa allo spazio dei nomi e al prefisso specificati.

public:
 abstract void WriteStartElement(System::String ^ prefix, System::String ^ localName, System::String ^ ns);
public abstract void WriteStartElement (string prefix, string localName, string ns);
public abstract void WriteStartElement (string? prefix, string localName, string? ns);
abstract member WriteStartElement : string * string * string -> unit
Public MustOverride Sub WriteStartElement (prefix As String, localName As String, ns As String)

Parametri

prefix
String

Prefisso dello spazio dei nomi dell'elemento.

localName
String

Nome locale dell'elemento.

ns
String

URI dello spazio dei nomi da associare all'elemento.

Eccezioni

Il writer viene chiuso.

-oppure-

È stato chiamato un metodo della classe XmlWriter prima del completamento di un'operazione asincrona precedente. In questo caso, viene generata l'eccezione InvalidOperationException con il messaggio "È già in corso un'operazione asincrona".

Nel buffer è presente un carattere XML valido che non è valido per la codifica di output. Ad esempio, se la codifica di output è ASCII, è necessario utilizzare solo caratteri dell'intervallo compreso tra 0 e 127 per nomi di elemento e di attributo. Il carattere non valido potrebbe essere nell'argomento di questo metodo o in un argomento di metodi precedenti che stanno scrivendo nel buffer. Tali caratteri vengono preceduti, quando possibile, da caratteri di escape costituiti da riferimenti a un'entità carattere, ad esempio in nodi di testo o valori di attributo. Tuttavia, il riferimento a un'entità di caratteri non è consentita in nomi di elemento e di attributo, commenti, istruzioni di elaborazione o sezioni CDATA.

Esempio

Nell'esempio seguente viene scritto un frammento XML.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
public ref class Sample
{
private:
   static String^ m_Document = L"sampledata.xml";

public:
   static void Main()
   {
      XmlWriter^ writer = nullptr;
      try
      {
         XmlWriterSettings^ settings = gcnew XmlWriterSettings;
         settings->Indent = true;
         writer = XmlWriter::Create( m_Document,settings );
         writer->WriteComment( L"sample XML fragment" );
         
         // Write an element (this one is the root).
         writer->WriteStartElement( L"book" );
         
         // Write the namespace declaration.
         writer->WriteAttributeString( L"xmlns", L"bk", nullptr, L"urn:samples" );
         
         // Write the genre attribute.
         writer->WriteAttributeString( L"genre", L"novel" );
         
         // Write the title.
         writer->WriteStartElement( L"title" );
         writer->WriteString( L"The Handmaid's Tale" );
         writer->WriteEndElement();
         
         // Write the price.
         writer->WriteElementString( L"price", L"19.95" );
         
         // Lookup the prefix and write the ISBN element.
         String^ prefix = writer->LookupPrefix( L"urn:samples" );
         writer->WriteStartElement( prefix, L"ISBN", L"urn:samples" );
         writer->WriteString( L"1-861003-78" );
         writer->WriteEndElement();
         
         // Write the style element (shows a different way to handle prefixes).
         writer->WriteElementString( L"style", L"urn:samples", L"hardcover" );
         
         // Write the close tag for the root element.
         writer->WriteEndElement();
         
         // Write the XML to file and close the writer.
         writer->Flush();
         writer->Close();
      }
      finally
      {
         if ( writer != nullptr )
                  writer->Close();
      }

   }

};

void main()
{
   Sample::Main();
}
using System;
using System.IO;
using System.Xml;

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

   public static void Main() {

      XmlWriter writer = null;

      try {

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

        writer.WriteComment("sample XML fragment");

        // Write an element (this one is the root).
        writer.WriteStartElement("book");

        // Write the namespace declaration.
        writer.WriteAttributeString("xmlns", "bk", null, "urn:samples");

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

        // Write the title.
        writer.WriteStartElement("title");
        writer.WriteString("The Handmaid's Tale");
        writer.WriteEndElement();

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

        // Lookup the prefix and write the ISBN element.
        string prefix = writer.LookupPrefix("urn:samples");
        writer.WriteStartElement(prefix, "ISBN", "urn:samples");
        writer.WriteString("1-861003-78");
        writer.WriteEndElement();

        // Write the style element (shows a different way to handle prefixes).
        writer.WriteElementString("style", "urn:samples", "hardcover");

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

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

      finally {
        if (writer != null)
           writer.Close();
     }
   }
 }
Option Strict
Option Explicit

Imports System.IO
Imports System.Xml

Public Class Sample
    Private Shared m_Document As String = "sampledata.xml"
    
    Public Shared Sub Main()
        Dim writer As XmlWriter = Nothing
        
      Try

        Dim settings As XmlWriterSettings = new XmlWriterSettings()
        settings.Indent = true
        writer = XmlWriter.Create (m_Document, settings)
            
        writer.WriteComment("sample XML fragment")
            
        ' Write an element (this one is the root).
        writer.WriteStartElement("book")
            
        ' Write the namespace declaration.
        writer.WriteAttributeString("xmlns", "bk", Nothing, "urn:samples")
            
        ' Write the genre attribute.
        writer.WriteAttributeString("genre", "novel")
            
        ' Write the title.
        writer.WriteStartElement("title")
        writer.WriteString("The Handmaid's Tale")
        writer.WriteEndElement()
            
        ' Write the price.
        writer.WriteElementString("price", "19.95")
            
        ' Lookup the prefix and write the ISBN element.
        Dim prefix As String = writer.LookupPrefix("urn:samples")
        writer.WriteStartElement(prefix, "ISBN", "urn:samples")
        writer.WriteString("1-861003-78")
        writer.WriteEndElement()
            
        ' Write the style element (shows a different way to handle prefixes).
        writer.WriteElementString("style", "urn:samples", "hardcover")
            
        ' Write the close tag for the root element.
        writer.WriteEndElement()
            
        ' Write the XML to file and close the writer.
        writer.Flush()
        writer.Close()
        
        Finally
            If Not (writer Is Nothing) Then
                writer.Close()
            End If
        End Try

    End Sub
End Class

Commenti

Per la versione asincrona di questo metodo, vedere WriteStartElementAsync.

Si applica a