Поделиться через


XmlWriter.WriteStartElement Метод

Определение

Записывает указанный открывающий тег при переопределении в производном классе.

Перегрузки

WriteStartElement(String)

Когда переопределено в производном классе, записывает открывающий тег с указанным локальным именем.

WriteStartElement(String, String)

Когда переопределено в производном классе, записывает указанный открывающий тег и связывает его с заданным пространством имен.

WriteStartElement(String, String, String)

Когда переопределено в производном классе, записывает указанный открывающий тег и связывает его с заданным пространством имен и префиксом.

Комментарии

Асинхронную версию этого метода см. в разделе WriteStartElementAsync.

WriteStartElement(String)

Исходный код:
XmlWriter.cs
Исходный код:
XmlWriter.cs
Исходный код:
XmlWriter.cs

Когда переопределено в производном классе, записывает открывающий тег с указанным локальным именем.

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

Параметры

localName
String

Локальное имя элемента.

Исключения

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

-или-

Метод XmlWriter вызван перед завершением предыдущей асинхронной операции. В этом случае возникает исключение InvalidOperationException с сообщением "Асинхронная операция уже выполняется".

В буфере присутствует символ, который является допустимым символом XML, но недопустим для кодирования вывода. Например, если выходные данные в кодировке ASCII, для имен элементов и атрибутов следует использовать только символы из диапазона от 0 до 127. Недопустимый символ может быть в аргументе этого метода или в каком-либо аргументе предыдущих методов, которые осуществляли запись в буфер. Такие знаки экранируются по возможности с помощью ссылок на сущности знаков (например, в текстовых узлах или значениях атрибутов). Однако ссылка на сущность знака не допускается в именах элементов и атрибутов, комментариях, инструкциях по обработке и разделах CDATA.

Примеры

В следующем примере выполняется запись УЗЛА 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

Комментарии

Асинхронную версию этого метода см. в разделе WriteStartElementAsync.

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

WriteStartElement(String, String)

Исходный код:
XmlWriter.cs
Исходный код:
XmlWriter.cs
Исходный код:
XmlWriter.cs

Когда переопределено в производном классе, записывает указанный открывающий тег и связывает его с заданным пространством имен.

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

Локальное имя элемента.

ns
String

URI пространства имен, связываемый с элементом. Если пространство имен уже находится в области видимости и с ним связан префикс, средство записи автоматически запишет этот префикс.

Исключения

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

-или-

Метод XmlWriter вызван перед завершением предыдущей асинхронной операции. В этом случае возникает исключение InvalidOperationException с сообщением "Асинхронная операция уже выполняется".

В буфере присутствует символ, который является допустимым символом XML, но недопустим для кодирования вывода. Например, если выходные данные в кодировке ASCII, для имен элементов и атрибутов следует использовать только символы из диапазона от 0 до 127. Недопустимый символ может быть в аргументе этого метода или в каком-либо аргументе предыдущих методов, которые осуществляли запись в буфер. Такие знаки экранируются по возможности с помощью ссылок на сущности знаков (например, в текстовых узлах или значениях атрибутов). Однако ссылка на сущность знака не допускается в именах элементов и атрибутов, комментариях, инструкциях по обработке и разделах CDATA.

Комментарии

После вызова этого метода можно написать атрибуты или создать содержимое с помощью WriteComment, WriteStringили WriteStartElement для дочерних элементов. Элемент можно закрыть с помощью или WriteEndElementWriteFullEndElement. Например, следующий код C#:

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

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

<item>some text</item>

Асинхронную версию этого метода см. в разделе WriteStartElementAsync.

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

WriteStartElement(String, String, String)

Исходный код:
XmlWriter.cs
Исходный код:
XmlWriter.cs
Исходный код:
XmlWriter.cs

Когда переопределено в производном классе, записывает указанный открывающий тег и связывает его с заданным пространством имен и префиксом.

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

Префикс пространства имен элемента.

localName
String

Локальное имя элемента.

ns
String

URI пространства имен, связываемый с элементом.

Исключения

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

-или-

Метод XmlWriter вызван перед завершением предыдущей асинхронной операции. В этом случае возникает исключение InvalidOperationException с сообщением "Асинхронная операция уже выполняется".

В буфере присутствует символ, который является допустимым символом XML, но недопустим для кодирования вывода. Например, если выходные данные в кодировке ASCII, для имен элементов и атрибутов следует использовать только символы из диапазона от 0 до 127. Недопустимый символ может быть в аргументе этого метода или в каком-либо аргументе предыдущих методов, которые осуществляли запись в буфер. Такие знаки экранируются по возможности с помощью ссылок на сущности знаков (например, в текстовых узлах или значениях атрибутов). Однако ссылка на сущность знака не допускается в именах элементов и атрибутов, комментариях, инструкциях по обработке и разделах CDATA.

Примеры

В следующем примере выполняется запись фрагмента 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

Комментарии

Асинхронную версию этого метода см. в разделе WriteStartElementAsync.

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