Compartir a través de


XmlWriter.WriteStartElement Método

Definición

Cuando se invalida en una clase derivada, escribe la etiqueta de apertura especificada.

Sobrecargas

WriteStartElement(String)

Cuando se invalida en una clase derivada, escribe una etiqueta de apertura con el nombre local especificado.

WriteStartElement(String, String)

Cuando se invalida en una clase derivada, escribe la etiqueta de apertura especificada y la asocia al espacio de nombres especificado.

WriteStartElement(String, String, String)

Cuando se invalida en una clase derivada, escribe la etiqueta de apertura especificada y la asocia al espacio de nombres y prefijo especificados.

Comentarios

Para obtener la versión asincrónica de este método, vea WriteStartElementAsync.

WriteStartElement(String)

Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs

Cuando se invalida en una clase derivada, escribe una etiqueta de apertura con el nombre 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

Nombre local del elemento.

Excepciones

El sistema de escritura está cerrado.

o bien

Se llamó un método XmlWriter antes de que se termine una operación asincrónica anterior. En este caso, se genera InvalidOperationException con el mensaje “Ya hay una operación asincrónica en curso”.

Hay un carácter en el búfer que es un carácter XML válido pero que no es válido para la codificación de salida. Por ejemplo, si la codificación de salida es ASCII, sólo debería utilizar los caracteres del intervalo de 0 a 127 para el elemento y nombres de atributo. El carácter no válido podría estar en el argumento de este método o en un argumento de métodos anteriores que estaban escribiendo en el búfer. Las referencias a entidades de caracteres anulan a dichos caracteres siempre que sea posible (por ejemplo, en nodos de texto o valores de atributo). Sin embargo, la referencia de entidad de carácter no se permite en nombres de elemento y de atributo, comentarios, instrucciones de procesamiento o secciones CDATA.

Ejemplos

En el ejemplo siguiente se escribe 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

Comentarios

Para obtener la versión asincrónica de este método, vea WriteStartElementAsync.

Se aplica a

WriteStartElement(String, String)

Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs

Cuando se invalida en una clase derivada, escribe la etiqueta de apertura especificada y la asocia al espacio de nombres especificado.

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

Nombre local del elemento.

ns
String

Identificador URI de espacio de nombres que se va a asociar al elemento. Si este espacio de nombres ya está en el ámbito y tiene asociado un prefijo, el sistema de escritura escribe automáticamente también dicho prefijo.

Excepciones

El sistema de escritura está cerrado.

o bien

Se llamó un método XmlWriter antes de que se termine una operación asincrónica anterior. En este caso, se genera InvalidOperationException con el mensaje “Ya hay una operación asincrónica en curso”.

Hay un carácter en el búfer que es un carácter XML válido pero que no es válido para la codificación de salida. Por ejemplo, si la codificación de salida es ASCII, sólo debería utilizar los caracteres del intervalo de 0 a 127 para el elemento y nombres de atributo. El carácter no válido podría estar en el argumento de este método o en un argumento de métodos anteriores que estaban escribiendo en el búfer. Las referencias a entidades de caracteres anulan a dichos caracteres siempre que sea posible (por ejemplo, en nodos de texto o valores de atributo). Sin embargo, la referencia de entidad de carácter no se permite en nombres de elemento y de atributo, comentarios, instrucciones de procesamiento o secciones CDATA.

Comentarios

Después de llamar a este método, puede escribir atributos o crear contenido mediante WriteComment, WriteStringo WriteStartElement para elementos secundarios. Puede cerrar el elemento con WriteEndElement o WriteFullEndElement. Por ejemplo, el código de C# siguiente:

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

Se genera el siguiente código resultado:

<item>some text</item>

Para obtener la versión asincrónica de este método, vea WriteStartElementAsync.

Se aplica a

WriteStartElement(String, String, String)

Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
XmlWriter.cs

Cuando se invalida en una clase derivada, escribe la etiqueta de apertura especificada y la asocia al espacio de nombres y prefijo especificados.

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

Prefijo de espacio de nombres del elemento.

localName
String

Nombre local del elemento.

ns
String

Identificador URI de espacio de nombres que se va a asociar al elemento.

Excepciones

El sistema de escritura está cerrado.

o bien

Se llamó un método XmlWriter antes de que se termine una operación asincrónica anterior. En este caso, se genera InvalidOperationException con el mensaje “Ya hay una operación asincrónica en curso”.

Hay un carácter en el búfer que es un carácter XML válido pero que no es válido para la codificación de salida. Por ejemplo, si la codificación de salida es ASCII, sólo debería utilizar los caracteres del intervalo de 0 a 127 para el elemento y nombres de atributo. El carácter no válido podría estar en el argumento de este método o en un argumento de métodos anteriores que estaban escribiendo en el búfer. Las referencias a entidades de caracteres anulan a dichos caracteres siempre que sea posible (por ejemplo, en nodos de texto o valores de atributo). Sin embargo, la referencia de entidad de carácter no se permite en nombres de elemento y de atributo, comentarios, instrucciones de procesamiento o secciones CDATA.

Ejemplos

En el ejemplo siguiente se escribe un 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

Comentarios

Para obtener la versión asincrónica de este método, vea WriteStartElementAsync.

Se aplica a