XmlWriter.WriteStartElement XmlWriter.WriteStartElement XmlWriter.WriteStartElement XmlWriter.WriteStartElement Method

定義

在衍生類別中覆寫時,寫入指定的開頭標記。When overridden in a derived class, writes the specified start tag.

多載

WriteStartElement(String) WriteStartElement(String) WriteStartElement(String) WriteStartElement(String)

在衍生類別中覆寫時,寫出具有指定之區域名稱的開頭標記。When overridden in a derived class, writes out a start tag with the specified local name.

WriteStartElement(String, String) WriteStartElement(String, String) WriteStartElement(String, String) 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) WriteStartElement(String, String, String) WriteStartElement(String, String, String) WriteStartElement(String, String, String)

在衍生類別中覆寫時,寫入指定的開頭標記,並與指定的命名空間與前置詞產生關聯。When overridden in a derived class, writes the specified start tag and associates it with the given namespace and prefix.

備註

這個方法的非同步版本,請參閱WriteStartElementAsyncFor the asynchronous version of this method, see WriteStartElementAsync.

WriteStartElement(String) WriteStartElement(String) WriteStartElement(String) 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 String String 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
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 'Main 
End Class 'Sample

備註

這個方法的非同步版本,請參閱WriteStartElementAsyncFor the asynchronous version of this method, see WriteStartElementAsync.

WriteStartElement(String, String) WriteStartElement(String, String) WriteStartElement(String, String) 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);
member this.WriteStartElement : string * string -> unit
Public Sub WriteStartElement (localName As String, ns As String)

參數

localName
String String String String

項目的本機名稱。The local name of the element.

ns
String String String 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.

備註

之後呼叫這個方法,您可以寫入屬性,或建立內容使用WriteCommentWriteString,或WriteStartElement子項目。After calling this method you can either write attributes, or create content using WriteComment, WriteString, or WriteStartElement for child elements. 您可以關閉使用的項目WriteEndElementWriteFullEndElementYou 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>  

這個方法的非同步版本,請參閱WriteStartElementAsyncFor the asynchronous version of this method, see WriteStartElementAsync.

WriteStartElement(String, String, String) WriteStartElement(String, String, String) WriteStartElement(String, String, String) 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);
abstract member WriteStartElement : string * string * string -> unit
Public MustOverride Sub WriteStartElement (prefix As String, localName As String, ns As String)

參數

prefix
String String String String

項目的命名空間前置詞。The namespace prefix of the element.

localName
String String String String

項目的本機名稱。The local name of the element.

ns
String String String 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
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 'Main 
End Class 'Sample

備註

這個方法的非同步版本,請參閱WriteStartElementAsyncFor the asynchronous version of this method, see WriteStartElementAsync.

適用於