Sdílet prostřednictvím


XmlWriter.WriteStartElement Metoda

Definice

Při přepsání v odvozené třídě zapíše zadanou počáteční značku.

Přetížení

WriteStartElement(String)

Při přepsání v odvozené třídě zapíše počáteční značku se zadaným místním názvem.

WriteStartElement(String, String)

Při přepsání v odvozené třídě zapíše zadanou počáteční značku a přidruží ji k danému oboru názvů.

WriteStartElement(String, String, String)

Při přepsání v odvozené třídě zapíše zadanou počáteční značku a přidruží ji k danému oboru názvů a předponě.

Poznámky

Asynchronní verzi této metody najdete v tématu WriteStartElementAsync.

WriteStartElement(String)

Zdroj:
XmlWriter.cs
Zdroj:
XmlWriter.cs
Zdroj:
XmlWriter.cs

Při přepsání v odvozené třídě zapíše počáteční značku se zadaným místním názvem.

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

Parametry

localName
String

Místní název elementu.

Výjimky

Spisovatel je zavřený.

-nebo-

Před XmlWriter dokončením předchozí asynchronní operace byla volána metoda . V tomto případě InvalidOperationException je vyvolán se zprávou "Asynchronní operace již probíhá.".

Ve vyrovnávací paměti je znak, který je platným znakem XML, ale není platný pro výstupní kódování. Pokud je například výstupní kódování ASCII, měli byste pro názvy elementů a atributů používat pouze znaky v rozsahu od 0 do 127. Neplatný znak může být v argumentu této metody nebo v argumentu předchozích metod, které byly zapsány do vyrovnávací paměti. Pokud je to možné, tyto znaky jsou řídicími znaky odkazy na entitu znaků (například v textových uzlech nebo hodnotách atributů). Odkaz na entitu znaků však není povolen v názvech elementů a atributů, komentářích, pokynech pro zpracování nebo oddílech CDATA.

Příklady

Následující příklad zapíše uzel 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

Poznámky

Asynchronní verzi této metody najdete v tématu WriteStartElementAsync.

Platí pro

WriteStartElement(String, String)

Zdroj:
XmlWriter.cs
Zdroj:
XmlWriter.cs
Zdroj:
XmlWriter.cs

Při přepsání v odvozené třídě zapíše zadanou počáteční značku a přidruží ji k danému oboru názvů.

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)

Parametry

localName
String

Místní název elementu.

ns
String

Identifikátor URI oboru názvů, který se má přidružit k elementu . Pokud je tento obor názvů již v oboru a má přidruženou předponu, zapisovač tuto předponu automaticky zapíše také.

Výjimky

Spisovatel je zavřený.

-nebo-

Před XmlWriter dokončením předchozí asynchronní operace byla volána metoda . V tomto případě InvalidOperationException je vyvolán se zprávou "Asynchronní operace již probíhá.".

Ve vyrovnávací paměti je znak, který je platným znakem XML, ale není platný pro výstupní kódování. Pokud je například výstupní kódování ASCII, měli byste pro názvy elementů a atributů používat pouze znaky v rozsahu od 0 do 127. Neplatný znak může být v argumentu této metody nebo v argumentu předchozích metod, které byly zapsány do vyrovnávací paměti. Pokud je to možné, tyto znaky jsou řídicími znaky odkazy na entitu znaků (například v textových uzlech nebo hodnotách atributů). Odkaz na entitu znaků však není povolen v názvech elementů a atributů, komentářích, pokynech pro zpracování nebo oddílech CDATA.

Poznámky

Po volání této metody můžete buď psát atributy, nebo vytvořit obsah pomocí WriteComment, WriteStringnebo WriteStartElement pro podřízené elementy. Prvek můžete zavřít pomocí nebo WriteEndElementWriteFullEndElement. Například následující kód jazyka C#:

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

Generuje následující výstup:

<item>some text</item>

Asynchronní verzi této metody najdete v tématu WriteStartElementAsync.

Platí pro

WriteStartElement(String, String, String)

Zdroj:
XmlWriter.cs
Zdroj:
XmlWriter.cs
Zdroj:
XmlWriter.cs

Při přepsání v odvozené třídě zapíše zadanou počáteční značku a přidruží ji k danému oboru názvů a předponě.

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)

Parametry

prefix
String

Předpona oboru názvů elementu.

localName
String

Místní název elementu.

ns
String

Identifikátor URI oboru názvů, který se má přidružit k elementu .

Výjimky

Spisovatel je zavřený.

-nebo-

Před XmlWriter dokončením předchozí asynchronní operace byla volána metoda . V tomto případě InvalidOperationException je vyvolán se zprávou "Asynchronní operace již probíhá.".

Ve vyrovnávací paměti je znak, který je platným znakem XML, ale není platný pro výstupní kódování. Pokud je například výstupní kódování ASCII, měli byste pro názvy elementů a atributů používat pouze znaky v rozsahu od 0 do 127. Neplatný znak může být v argumentu této metody nebo v argumentu předchozích metod, které byly zapsány do vyrovnávací paměti. Pokud je to možné, tyto znaky jsou řídicími znaky odkazy na entitu znaků (například v textových uzlech nebo hodnotách atributů). Odkaz na entitu znaků však není povolen v názvech elementů a atributů, komentářích, pokynech pro zpracování nebo oddílech CDATA.

Příklady

Následující příklad zapíše 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

Poznámky

Asynchronní verzi této metody najdete v tématu WriteStartElementAsync.

Platí pro