XmlWriter.WriteStartElement Метод

Определение

Записывает указанный открывающий тег при переопределении в производном классе.When overridden in a derived class, writes the specified start tag.

Перегрузки

WriteStartElement(String)

Когда переопределено в производном классе, записывает открывающий тег с указанным локальным именем.When overridden in a derived class, writes out a start tag with the specified local name.

WriteStartElement(String, String)

Когда переопределено в производном классе, записывает указанный открывающий тег и связывает его с заданным пространством имен.When overridden in a derived class, writes the specified start tag and associates it with the given namespace.

WriteStartElement(String, String, String)

Когда переопределено в производном классе, записывает указанный открывающий тег и связывает его с заданным пространством имен и префиксом.When overridden in a derived class, writes the specified start tag and associates it with the given namespace and prefix.

Комментарии

Асинхронную версию этого метода см. в разделе WriteStartElementAsync .For the asynchronous version of this method, see WriteStartElementAsync.

WriteStartElement(String)

Когда переопределено в производном классе, записывает открывающий тег с указанным локальным именем.When overridden in a derived class, writes out a start tag with the specified local name.

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

Параметры

localName
String

Локальное имя элемента.The local name of the element.

Исключения

Модуль записи закрыт.The writer is closed.

-или--or-

Метод XmlWriter вызван перед завершением предыдущей асинхронной операции.An XmlWriter method was called before a previous asynchronous operation finished. В этом случае возникает исключение InvalidOperationException с сообщением "Асинхронная операция уже выполняется".In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

В буфере присутствует символ, который является допустимым символом XML, но недопустим для кодирования вывода.There is a character in the buffer that is a valid XML character but is not valid for the output encoding. Например, если выходные данные в кодировке ASCII, для имен элементов и атрибутов следует использовать только символы из диапазона от 0 до 127.For example, if the output encoding is ASCII, you should only use characters from the range of 0 to 127 for element and attribute names. Недопустимый символ может быть в аргументе этого метода или в каком-либо аргументе предыдущих методов, которые осуществляли запись в буфер.The invalid character might be in the argument of this method or in an argument of previous methods that were writing to the buffer. Такие знаки экранируются по возможности с помощью ссылок на сущности знаков (например, в текстовых узлах или значениях атрибутов).Such characters are escaped by character entity references when possible (for example, in text nodes or attribute values). Однако ссылка на сущность знака не допускается в именах элементов и атрибутов, комментариях, инструкциях по обработке и разделах CDATA.However, the character entity reference is not allowed in element and attribute names, comments, processing instructions, or CDATA sections.

Примеры

В следующем примере записывается XML-узел.The following example writes an XML node.

#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

Комментарии

Асинхронную версию этого метода см. в разделе WriteStartElementAsync .For the asynchronous version of this method, see WriteStartElementAsync.

Применяется к

WriteStartElement(String, String)

Когда переопределено в производном классе, записывает указанный открывающий тег и связывает его с заданным пространством имен.When overridden in a derived class, writes the specified start tag and associates it with the given namespace.

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)

Параметры

localName
String

Локальное имя элемента.The local name of the element.

ns
String

URI пространства имен, связываемый с элементом.The namespace URI to associate with the element. Если пространство имен уже находится в области видимости и с ним связан префикс, средство записи автоматически запишет этот префикс.If this namespace is already in scope and has an associated prefix, the writer automatically writes that prefix also.

Исключения

Модуль записи закрыт.The writer is closed.

-или--or-

Метод XmlWriter вызван перед завершением предыдущей асинхронной операции.An XmlWriter method was called before a previous asynchronous operation finished. В этом случае возникает исключение InvalidOperationException с сообщением "Асинхронная операция уже выполняется".In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

В буфере присутствует символ, который является допустимым символом XML, но недопустим для кодирования вывода.There is a character in the buffer that is a valid XML character but is not valid for the output encoding. Например, если выходные данные в кодировке ASCII, для имен элементов и атрибутов следует использовать только символы из диапазона от 0 до 127.For example, if the output encoding is ASCII, you should only use characters from the range of 0 to 127 for element and attribute names. Недопустимый символ может быть в аргументе этого метода или в каком-либо аргументе предыдущих методов, которые осуществляли запись в буфер.The invalid character might be in the argument of this method or in an argument of previous methods that were writing to the buffer. Такие знаки экранируются по возможности с помощью ссылок на сущности знаков (например, в текстовых узлах или значениях атрибутов).Such characters are escaped by character entity references when possible (for example, in text nodes or attribute values). Однако ссылка на сущность знака не допускается в именах элементов и атрибутов, комментариях, инструкциях по обработке и разделах CDATA.However, the character entity reference is not allowed in element and attribute names, comments, processing instructions, or CDATA sections.

Комментарии

После вызова этого метода можно либо написать атрибуты, либо создать содержимое с помощью WriteComment , WriteString или WriteStartElement для дочерних элементов.After calling this method you can either write attributes, or create content using WriteComment, WriteString, or WriteStartElement for child elements. Элемент можно закрыть с помощью WriteEndElement или WriteFullEndElement .You can close the element with either WriteEndElement or WriteFullEndElement. Например, следующий код C#:For example, the following C# code:

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

Будут получены следующие выходные данные:Generates the following output:

<item>some text</item>  

Асинхронную версию этого метода см. в разделе WriteStartElementAsync .For the asynchronous version of this method, see WriteStartElementAsync.

Применяется к

WriteStartElement(String, String, String)

Когда переопределено в производном классе, записывает указанный открывающий тег и связывает его с заданным пространством имен и префиксом.When overridden in a derived class, writes the specified start tag and associates it with the given namespace and prefix.

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)

Параметры

prefix
String

Префикс пространства имен элемента.The namespace prefix of the element.

localName
String

Локальное имя элемента.The local name of the element.

ns
String

URI пространства имен, связываемый с элементом.The namespace URI to associate with the element.

Исключения

Модуль записи закрыт.The writer is closed.

-или--or-

Метод XmlWriter вызван перед завершением предыдущей асинхронной операции.An XmlWriter method was called before a previous asynchronous operation finished. В этом случае возникает исключение InvalidOperationException с сообщением "Асинхронная операция уже выполняется".In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

В буфере присутствует символ, который является допустимым символом XML, но недопустим для кодирования вывода.There is a character in the buffer that is a valid XML character but is not valid for the output encoding. Например, если выходные данные в кодировке ASCII, для имен элементов и атрибутов следует использовать только символы из диапазона от 0 до 127.For example, if the output encoding is ASCII, you should only use characters from the range of 0 to 127 for element and attribute names. Недопустимый символ может быть в аргументе этого метода или в каком-либо аргументе предыдущих методов, которые осуществляли запись в буфер.The invalid character might be in the argument of this method or in an argument of previous methods that were writing to the buffer. Такие знаки экранируются по возможности с помощью ссылок на сущности знаков (например, в текстовых узлах или значениях атрибутов).Such characters are escaped by character entity references when possible (for example, in text nodes or attribute values). Однако ссылка на сущность знака не допускается в именах элементов и атрибутов, комментариях, инструкциях по обработке и разделах CDATA.However, the character entity reference is not allowed in element and attribute names, comments, processing instructions, or CDATA sections.

Примеры

В следующем примере записывается фрагмент XML-кода.The following example writes out an XML fragment.

#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

Комментарии

Асинхронную версию этого метода см. в разделе WriteStartElementAsync .For the asynchronous version of this method, see WriteStartElementAsync.

Применяется к