XmlWriter.WriteStartElement 方法

定义

当在派生类中被重写时,写入指定的开始标记。

重载

WriteStartElement(String)

当在派生类中被重写时,写出具有指定的本地名称的开始标记。

WriteStartElement(String, String)

当在派生类中被重写时,写入指定的开始标记并将其与给定的命名空间关联起来。

WriteStartElement(String, String, String)

当在派生类中被重写时,写入指定的开始标记并将其与给定的命名空间和前缀关联起来。

注解

有关此方法的异步版本,请参阅 WriteStartElementAsync

WriteStartElement(String)

Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
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)

Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
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 节中使用字符实体引用。

注解

调用此方法后,可以编写属性,或使用 、 WriteStringWriteStartElement 为子元素创建内容WriteComment。 可以使用 或 WriteFullEndElement关闭 元素WriteEndElement。 例如,以下 C# 代码:

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

生成以下输出:

<item>some text</item>

有关此方法的异步版本,请参阅 WriteStartElementAsync

适用于

WriteStartElement(String, String, String)

Source:
XmlWriter.cs
Source:
XmlWriter.cs
Source:
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

适用于