XmlWriter.WriteStartElement Methode

Definition

Schreibt beim Überschreiben in einer abgeleiteten Klasse das angegebene Starttag.

Überlädt

WriteStartElement(String)

Schreibt beim Überschreiben in einer abgeleiteten Klasse ein Starttag mit dem angegebenen lokalen Namen.

WriteStartElement(String, String)

Schreibt beim Überschreiben in einer abgeleiteten Klasse das angegebene Starttag und ordnet dieses dem angegebenen Namespace zu.

WriteStartElement(String, String, String)

Schreibt beim Überschreiben in einer abgeleiteten Klasse das angegebene Starttag und ordnet dieses dem angegebenen Namespace und Präfix zu.

Hinweise

Eine asynchrone Version dieser Methode finden Sie unter WriteStartElementAsync.

WriteStartElement(String)

Schreibt beim Überschreiben in einer abgeleiteten Klasse ein Starttag mit dem angegebenen lokalen Namen.

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

Parameter

localName
String

Der lokale Name des Elements.

Ausnahmen

Der Writer ist geschlossen.

- oder -

Eine XmlWriter-Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall wird InvalidOperationException mit der Meldung „Es wird bereits ein asynchroner Vorgang ausgeführt“ ausgelöst.

Es gibt ein Zeichen im Puffer, das ein gültiges XML-Zeichen ist, aber nicht gültig für die Ausgabecodierung ist. Wenn die Ausgabecodierung z. B. ASCII ist, sollten Sie nur Zeichen im Bereich von 0 bis 127 für Element- und Attributnamen verwenden. Das ungültige Zeichen kann sich im Argument dieser Methode oder in einem Argument von vorherigen Methoden befinden, die in den Puffer geschrieben haben. Solche Zeichen werden wenn möglich von Zeichenentitätsverweisen maskiert (z. B., in Textknoten oder Attributwerten). Der Zeichenentitätsverweis ist jedoch nicht in Element- und Attributnamen, Kommentaren, Verarbeitungsanweisungen oder CDATA-Abschnitten zugelassen.

Beispiele

Im folgenden Beispiel wird ein XML-Knoten geschrieben.

#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

Hinweise

Eine asynchrone Version dieser Methode finden Sie unter WriteStartElementAsync.

Gilt für

WriteStartElement(String, String)

Schreibt beim Überschreiben in einer abgeleiteten Klasse das angegebene Starttag und ordnet dieses dem angegebenen Namespace zu.

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)

Parameter

localName
String

Der lokale Name des Elements.

ns
String

Der Namespace-URI, der dem Element zugeordnet werden soll. Wenn sich dieser Namespace bereits im Gültigkeitsbereich befindet und dem Namespace ein Präfix zugeordnet ist, schreibt der Writer automatisch auch das Präfix.

Ausnahmen

Der Writer ist geschlossen.

- oder -

Eine XmlWriter-Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall wird InvalidOperationException mit der Meldung „Es wird bereits ein asynchroner Vorgang ausgeführt“ ausgelöst.

Es gibt ein Zeichen im Puffer, das ein gültiges XML-Zeichen ist, aber nicht gültig für die Ausgabecodierung ist. Wenn die Ausgabecodierung z. B. ASCII ist, sollten Sie nur Zeichen im Bereich von 0 bis 127 für Element- und Attributnamen verwenden. Das ungültige Zeichen kann sich im Argument dieser Methode oder in einem Argument von vorherigen Methoden befinden, die in den Puffer geschrieben haben. Solche Zeichen werden wenn möglich von Zeichenentitätsverweisen maskiert (z. B., in Textknoten oder Attributwerten). Der Zeichenentitätsverweis ist jedoch nicht in Element- und Attributnamen, Kommentaren, Verarbeitungsanweisungen oder CDATA-Abschnitten zugelassen.

Hinweise

Nachdem Sie diese Methode aufgerufen haben, können Sie Attribute schreiben oder Inhalte mithilfe WriteCommentvon , WriteStringoder WriteStartElement für untergeordnete Elemente erstellen. Sie können das Element mit entweder WriteEndElement oder WriteFullEndElement. Beispiel: Der folgende C#-Code:

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

Generiert folgende Ausgabe:

<item>some text</item>  

Eine asynchrone Version dieser Methode finden Sie unter WriteStartElementAsync.

Gilt für

WriteStartElement(String, String, String)

Schreibt beim Überschreiben in einer abgeleiteten Klasse das angegebene Starttag und ordnet dieses dem angegebenen Namespace und Präfix zu.

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)

Parameter

prefix
String

Das Namespacepräfix des Elements.

localName
String

Der lokale Name des Elements.

ns
String

Der Namespace-URI, der dem Element zugeordnet werden soll.

Ausnahmen

Der Writer ist geschlossen.

- oder -

Eine XmlWriter-Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall wird InvalidOperationException mit der Meldung „Es wird bereits ein asynchroner Vorgang ausgeführt“ ausgelöst.

Es gibt ein Zeichen im Puffer, das ein gültiges XML-Zeichen ist, aber nicht gültig für die Ausgabecodierung ist. Wenn die Ausgabecodierung z. B. ASCII ist, sollten Sie nur Zeichen im Bereich von 0 bis 127 für Element- und Attributnamen verwenden. Das ungültige Zeichen kann sich im Argument dieser Methode oder in einem Argument von vorherigen Methoden befinden, die in den Puffer geschrieben haben. Solche Zeichen werden wenn möglich von Zeichenentitätsverweisen maskiert (z. B., in Textknoten oder Attributwerten). Der Zeichenentitätsverweis ist jedoch nicht in Element- und Attributnamen, Kommentaren, Verarbeitungsanweisungen oder CDATA-Abschnitten zugelassen.

Beispiele

Im folgenden Beispiel wird ein XML-Fragment geschrieben.

#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

Hinweise

Eine asynchrone Version dieser Methode finden Sie unter WriteStartElementAsync.

Gilt für