Partilhar via


XmlWriter.WriteStartElement Método

Definição

Quando substituído em uma classe derivada, grava a marca de início especificada.

Sobrecargas

WriteStartElement(String)

Quando substituído em uma classe derivada, grava uma marca de início com o nome local especificado.

WriteStartElement(String, String)

Quando substituído em uma classe derivada, grava a marca de início especificada e a associa ao namespace específico.

WriteStartElement(String, String, String)

Quando substituído em uma classe derivada, grava a marca de início especificada e a associa ao prefixo e ao namespace específicos.

Comentários

Para obter a versão assíncrona deste método, consulte WriteStartElementAsync.

WriteStartElement(String)

Quando substituído em uma classe derivada, grava uma marca de início com o nome local especificado.

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

Parâmetros

localName
String

O nome local do elemento.

Exceções

O gravador está fechado.

- ou -

Um método XmlWriter foi chamado antes do término de uma operação assíncrona anterior. Nesse caso, InvalidOperationException será gerado com a mensagem “Uma operação assíncrona já está em andamento”.

Há um caractere no buffer que é um caractere XML válido, mas que não é válido para a codificação de saída. Por exemplo, se a codificação de saída for ASCII, use apenas caracteres no intervalo de 0 a 127 para nomes de elemento e de atributo. O caractere inválido pode estar no argumento do método ou em um argumento dos métodos anteriores que foram gravados no buffer. Esses caracteres são substituídos por referências de entidade de caracteres de escape quando possível (por exemplo, em nós de texto ou valores de atributo). No entanto, a referência de entidade de caracteres não é permitida em nomes de elemento e de atributo, comentários, instruções de processamento ou seções de CDATA.

Exemplos

O exemplo a seguir grava um nó 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

Comentários

Para obter a versão assíncrona deste método, consulte WriteStartElementAsync.

Aplica-se a

WriteStartElement(String, String)

Quando substituído em uma classe derivada, grava a marca de início especificada e a associa ao namespace específico.

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)

Parâmetros

localName
String

O nome local do elemento.

ns
String

O URI do namespace a ser associado ao elemento. Se este namespace já estiver no escopo e tiver um prefixo associado, o gravador gravará esse prefixo também automaticamente.

Exceções

O gravador está fechado.

- ou -

Um método XmlWriter foi chamado antes do término de uma operação assíncrona anterior. Nesse caso, InvalidOperationException será gerado com a mensagem “Uma operação assíncrona já está em andamento”.

Há um caractere no buffer que é um caractere XML válido, mas que não é válido para a codificação de saída. Por exemplo, se a codificação de saída for ASCII, use apenas caracteres no intervalo de 0 a 127 para nomes de elemento e de atributo. O caractere inválido pode estar no argumento do método ou em um argumento dos métodos anteriores que foram gravados no buffer. Esses caracteres são substituídos por referências de entidade de caracteres de escape quando possível (por exemplo, em nós de texto ou valores de atributo). No entanto, a referência de entidade de caracteres não é permitida em nomes de elemento e de atributo, comentários, instruções de processamento ou seções de CDATA.

Comentários

Depois de chamar esse método, você pode escrever atributos ou criar conteúdo usando WriteComment, WriteStringou WriteStartElement para elementos filho. Você pode fechar o elemento com ou WriteEndElement WriteFullEndElement. Por exemplo, o seguinte código C#:

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

Isso gera a saída a seguir:

<item>some text</item>  

Para obter a versão assíncrona deste método, consulte WriteStartElementAsync.

Aplica-se a

WriteStartElement(String, String, String)

Quando substituído em uma classe derivada, grava a marca de início especificada e a associa ao prefixo e ao namespace específicos.

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)

Parâmetros

prefix
String

O prefixo do namespace do elemento.

localName
String

O nome local do elemento.

ns
String

O URI do namespace a ser associado ao elemento.

Exceções

O gravador está fechado.

- ou -

Um método XmlWriter foi chamado antes do término de uma operação assíncrona anterior. Nesse caso, InvalidOperationException será gerado com a mensagem “Uma operação assíncrona já está em andamento”.

Há um caractere no buffer que é um caractere XML válido, mas que não é válido para a codificação de saída. Por exemplo, se a codificação de saída for ASCII, use apenas caracteres no intervalo de 0 a 127 para nomes de elemento e de atributo. O caractere inválido pode estar no argumento do método ou em um argumento dos métodos anteriores que foram gravados no buffer. Esses caracteres são substituídos por referências de entidade de caracteres de escape quando possível (por exemplo, em nós de texto ou valores de atributo). No entanto, a referência de entidade de caracteres não é permitida em nomes de elemento e de atributo, comentários, instruções de processamento ou seções de CDATA.

Exemplos

O exemplo a seguir grava um fragmento 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

Comentários

Para obter a versão assíncrona deste método, consulte WriteStartElementAsync.

Aplica-se a