Leer en inglés

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.

C#
public void WriteStartElement (string localName);

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.

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

Comentarios

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

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
public void WriteStartElement (string localName, string ns);
C#
public void WriteStartElement (string localName, string? ns);

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:

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

Se genera el siguiente código resultado:

XML
<item>some text</item>

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

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
public abstract void WriteStartElement (string prefix, string localName, string ns);
C#
public abstract void WriteStartElement (string? prefix, string localName, string? ns);

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.

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

Comentarios

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

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0