XmlWriter.WriteStartElement Méthode

Définition

En cas de substitution dans une classe dérivée, écrit la balise de début spécifiée.

Surcharges

WriteStartElement(String)

En cas de substitution dans une classe dérivée, écrit une balise de début avec le nom local spécifié.

WriteStartElement(String, String)

En cas de substitution dans une classe dérivée, écrit l’étiquette de début spécifiée et l’associe à l’espace de noms indiqué.

WriteStartElement(String, String, String)

En cas de substitution dans une classe dérivée, écrit l’étiquette de début spécifiée, puis l’associe à l’espace de noms et au préfixe indiqués.

Remarques

Pour obtenir la version asynchrone de cette méthode, consultez WriteStartElementAsync.

WriteStartElement(String)

En cas de substitution dans une classe dérivée, écrit une balise de début avec le nom local spécifié.

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

Paramètres

localName
String

Le nom local de l'élément.

Exceptions

Le writer est fermé.

- ou -

Une méthode XmlWriter a été appelée avant la fin d’une opération asynchrone précédente. Dans ce cas, l’exception InvalidOperationException est levée avec le message « Une opération asynchrone est déjà en cours ».

Un caractère dans la mémoire tampon est un caractère XML valide mais n'est pas valide pour l'encodage de sortie. Par exemple, si l'encodage de sortie est ASCII, vous devez utiliser uniquement des caractères de la plage de 0 à 127 pour les noms d'éléments et d'attributs. Le caractère non valide peut être dans l'argument de cette méthode ou dans un argument des méthodes précédentes qui écrivaient dans la mémoire tampon. Les caractères de ce type sont échappés par les références d'entité de caractère lorsque cela est possible (par exemple, dans les nœuds de texte ou les valeurs d'attribut). Toutefois, la référence d'entité de caractère n'est pas autorisée dans les noms d'éléments et d'attributs, les commentaires, les instructions de traitement ou les sections CDATA.

Exemples

L’exemple suivant écrit un nœud 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

Remarques

Pour obtenir la version asynchrone de cette méthode, consultez WriteStartElementAsync.

S’applique à

WriteStartElement(String, String)

En cas de substitution dans une classe dérivée, écrit l’étiquette de début spécifiée et l’associe à l’espace de noms indiqué.

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)

Paramètres

localName
String

Le nom local de l'élément.

ns
String

URI de l'espace de noms à associer à l'élément. Si cet espace de noms est déjà dans la portée et qu'il possède un préfixe associé, le writer écrit automatiquement ce préfixe également.

Exceptions

Le writer est fermé.

- ou -

Une méthode XmlWriter a été appelée avant la fin d’une opération asynchrone précédente. Dans ce cas, l’exception InvalidOperationException est levée avec le message « Une opération asynchrone est déjà en cours ».

Un caractère dans la mémoire tampon est un caractère XML valide mais n'est pas valide pour l'encodage de sortie. Par exemple, si l'encodage de sortie est ASCII, vous devez utiliser uniquement des caractères de la plage de 0 à 127 pour les noms d'éléments et d'attributs. Le caractère non valide peut être dans l'argument de cette méthode ou dans un argument des méthodes précédentes qui écrivaient dans la mémoire tampon. Les caractères de ce type sont échappés par les références d'entité de caractère lorsque cela est possible (par exemple, dans les nœuds de texte ou les valeurs d'attribut). Toutefois, la référence d'entité de caractère n'est pas autorisée dans les noms d'éléments et d'attributs, les commentaires, les instructions de traitement ou les sections CDATA.

Remarques

Après avoir appelé cette méthode, vous pouvez écrire des attributs ou créer du contenu à l’aide WriteCommentde , WriteStringou WriteStartElement pour des éléments enfants. Vous pouvez fermer l’élément avec WriteEndElement ou WriteFullEndElement. Par exemple, le code C# suivant :

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

Voici la sortie générée :

<item>some text</item>

Pour obtenir la version asynchrone de cette méthode, consultez WriteStartElementAsync.

S’applique à

WriteStartElement(String, String, String)

En cas de substitution dans une classe dérivée, écrit l’étiquette de début spécifiée, puis l’associe à l’espace de noms et au préfixe indiqués.

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)

Paramètres

prefix
String

Préfixe d'espace de noms de cet élément.

localName
String

Le nom local de l'élément.

ns
String

URI de l'espace de noms à associer à l'élément.

Exceptions

Le writer est fermé.

- ou -

Une méthode XmlWriter a été appelée avant la fin d’une opération asynchrone précédente. Dans ce cas, l’exception InvalidOperationException est levée avec le message « Une opération asynchrone est déjà en cours ».

Un caractère dans la mémoire tampon est un caractère XML valide mais n'est pas valide pour l'encodage de sortie. Par exemple, si l'encodage de sortie est ASCII, vous devez utiliser uniquement des caractères de la plage de 0 à 127 pour les noms d'éléments et d'attributs. Le caractère non valide peut être dans l'argument de cette méthode ou dans un argument des méthodes précédentes qui écrivaient dans la mémoire tampon. Les caractères de ce type sont échappés par les références d'entité de caractère lorsque cela est possible (par exemple, dans les nœuds de texte ou les valeurs d'attribut). Toutefois, la référence d'entité de caractère n'est pas autorisée dans les noms d'éléments et d'attributs, les commentaires, les instructions de traitement ou les sections CDATA.

Exemples

L’exemple suivant écrit un fragment 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

Remarques

Pour obtenir la version asynchrone de cette méthode, consultez WriteStartElementAsync.

S’applique à