XmlWriter.WriteAttributeString XmlWriter.WriteAttributeString XmlWriter.WriteAttributeString XmlWriter.WriteAttributeString Method

定義

在衍生類別中覆寫時,寫入具有指定值的屬性。When overridden in a derived class, writes an attribute with the specified value.

多載

WriteAttributeString(String, String, String) WriteAttributeString(String, String, String) WriteAttributeString(String, String, String) WriteAttributeString(String, String, String)

在衍生類別中覆寫時,寫入具有指定區域名稱、命名空間 URI 和值的屬性。When overridden in a derived class, writes an attribute with the specified local name, namespace URI, and value.

WriteAttributeString(String, String, String, String) WriteAttributeString(String, String, String, String) WriteAttributeString(String, String, String, String) WriteAttributeString(String, String, String, String)

在衍生類別中覆寫時,寫出具有指定的前置詞、區域名稱、命名空間 URI 及其值的屬性。When overridden in a derived class, writes out the attribute with the specified prefix, local name, namespace URI, and value.

WriteAttributeString(String, String) WriteAttributeString(String, String) WriteAttributeString(String, String) WriteAttributeString(String, String)

在衍生類別中覆寫時,寫出具有指定的區域名稱與數值的屬性。When overridden in a derived class, writes out the attribute with the specified local name and value.

備註

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

WriteAttributeString(String, String, String) WriteAttributeString(String, String, String) WriteAttributeString(String, String, String) WriteAttributeString(String, String, String)

在衍生類別中覆寫時,寫入具有指定區域名稱、命名空間 URI 和值的屬性。When overridden in a derived class, writes an attribute with the specified local name, namespace URI, and value.

public:
 void WriteAttributeString(System::String ^ localName, System::String ^ ns, System::String ^ value);
public void WriteAttributeString (string localName, string ns, string value);
member this.WriteAttributeString : string * string * string -> unit
Public Sub WriteAttributeString (localName As String, ns As String, value As String)

參數

localName
String String String String

屬性的本機名稱。The local name of the attribute.

ns
String String String String

與屬性相關聯的命名空間 URI。The namespace URI to associate with the attribute.

value
String String String String

屬性的值。The value of the attribute.

例外狀況

寫入器的狀態不是 WriteState.Element,或寫入器已關閉。The state of writer is not WriteState.Element or 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:spacexml:lang 屬性值無效。The xml:space or xml:lang attribute value is invalid.

範例

下列範例會使用WriteAttributeString来撰寫命名空間宣告的方法。The following example uses the WriteAttributeString method to write a namespace declaration.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
void main()
{
   XmlWriter^ writer = nullptr;
   writer = XmlWriter::Create( L"sampledata.xml" );
   
   // Write the root element.
   writer->WriteStartElement( L"book" );
   
   // Write the xmlns:bk="urn:book" namespace declaration.
   writer->WriteAttributeString( L"xmlns", L"bk", nullptr, L"urn:book" );
   
   // Write the bk:ISBN="1-800-925" attribute.
   writer->WriteAttributeString( L"ISBN", L"urn:book", L"1-800-925" );
   writer->WriteElementString( L"price", L"19.95" );
   
   // Write the close tag for the root element.
   writer->WriteEndElement();
   
   // Write the XML to file and close the writer.
   writer->Flush();
   writer->Close();
}
using System;
using System.IO;
using System.Xml;

public class Sample {

  public static void Main() {
 
     XmlWriter writer = null;

     writer = XmlWriter.Create("sampledata.xml");
        
     // Write the root element.
     writer.WriteStartElement("book");

     // Write the xmlns:bk="urn:book" namespace declaration.
     writer.WriteAttributeString("xmlns","bk", null,"urn:book");
  
     // Write the bk:ISBN="1-800-925" attribute.
     writer.WriteAttributeString("ISBN", "urn:book", "1-800-925");

     writer.WriteElementString("price", "19.95");

     // Write the close tag for the root element.
     writer.WriteEndElement();
             
     // Write the XML to file and close the writer.
     writer.Flush();
     writer.Close();  

  }
}
Imports System
Imports System.IO
Imports System.Xml

Public Class Sample 

  Public Shared Sub Main() 
 
     Dim writer As XmlWriter = Nothing

     writer = XmlWriter.Create("sampledata.xml")
        
     ' Write the root element.
     writer.WriteStartElement("book")

     ' Write the xmlns:bk="urn:book" namespace declaration.
     writer.WriteAttributeString("xmlns","bk", Nothing,"urn:book")
  
     ' Write the bk:ISBN="1-800-925" attribute.
     writer.WriteAttributeString("ISBN", "urn:book", "1-800-925")

     writer.WriteElementString("price", "19.95")

     ' Write the close tag for the root element.
     writer.WriteEndElement()
             
     ' Write the XML to file and close the writer.
     writer.Flush()
     writer.Close()  

  End Sub
End Class

備註

這個方法會寫出具有使用者定義的命名空間前置詞的屬性,並將它與指定的命名空間產生關聯。This method writes out the attribute with a user defined namespace prefix and associates it with the given namespace. 如果localName是"xmlns",則這個方法也會將這視為命名空間宣告。If localName is "xmlns" then this method also treats this as a namespace declaration. 在此情況下,ns引數可以是nullIn this case, the ns argument can be null.

WriteAttributeString 會執行下列動作:WriteAttributeString does the following:

  • 如果屬性值包含雙引號或單一引號,取代了它們&quot;&apos;分別。If the attribute value includes double or single quotes, they are replaced with &quot; and &apos; respectively.

  • 如果撰寫xml:space屬性,則寫入器確認屬性值是否有效。If writing an xml:space attribute, the writer verifies the attribute value is valid. (有效值preservedefault。)(Valid values are preserve or default.)

  • 如果撰寫xml:lang屬性,則寫入器不會驗證屬性值是根據 W3C XML 1.0 recommendation 有效。If writing an xml:lang attribute, the writer does not verify that the attribute value is valid according to the W3C XML 1.0 recommendation.

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

WriteAttributeString(String, String, String, String) WriteAttributeString(String, String, String, String) WriteAttributeString(String, String, String, String) WriteAttributeString(String, String, String, String)

在衍生類別中覆寫時,寫出具有指定的前置詞、區域名稱、命名空間 URI 及其值的屬性。When overridden in a derived class, writes out the attribute with the specified prefix, local name, namespace URI, and value.

public:
 void WriteAttributeString(System::String ^ prefix, System::String ^ localName, System::String ^ ns, System::String ^ value);
public void WriteAttributeString (string prefix, string localName, string ns, string value);
member this.WriteAttributeString : string * string * string * string -> unit
Public Sub WriteAttributeString (prefix As String, localName As String, ns As String, value As String)

參數

prefix
String String String String

屬性的命名空間前置詞。The namespace prefix of the attribute.

localName
String String String String

屬性的本機名稱。The local name of the attribute.

ns
String String String String

屬性的命名空間 URI。The namespace URI of the attribute.

value
String String String String

屬性的值。The value of the attribute.

例外狀況

寫入器的狀態不是 WriteState.Element,或寫入器已關閉。The state of writer is not WriteState.Element or 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:spacexml:lang 屬性值無效。The xml:space or xml:lang attribute value is invalid.

localNamensnull The localName or ns is null.

範例

下列範例會使用WriteAttributeString来撰寫命名空間宣告的方法。The following example uses the WriteAttributeString method to write a namespace declaration.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
void main()
{
   XmlWriter^ writer = nullptr;
   writer = XmlWriter::Create( L"sampledata.xml" );
   
   // Write the root element.
   writer->WriteStartElement( L"book" );
   
   // Write the xmlns:bk="urn:book" namespace declaration.
   writer->WriteAttributeString( L"xmlns", L"bk", nullptr, L"urn:book" );
   
   // Write the bk:ISBN="1-800-925" attribute.
   writer->WriteAttributeString( L"ISBN", L"urn:book", L"1-800-925" );
   writer->WriteElementString( L"price", L"19.95" );
   
   // Write the close tag for the root element.
   writer->WriteEndElement();
   
   // Write the XML to file and close the writer.
   writer->Flush();
   writer->Close();
}
using System;
using System.IO;
using System.Xml;

public class Sample {

  public static void Main() {
 
     XmlWriter writer = null;

     writer = XmlWriter.Create("sampledata.xml");
        
     // Write the root element.
     writer.WriteStartElement("book");

     // Write the xmlns:bk="urn:book" namespace declaration.
     writer.WriteAttributeString("xmlns","bk", null,"urn:book");
  
     // Write the bk:ISBN="1-800-925" attribute.
     writer.WriteAttributeString("ISBN", "urn:book", "1-800-925");

     writer.WriteElementString("price", "19.95");

     // Write the close tag for the root element.
     writer.WriteEndElement();
             
     // Write the XML to file and close the writer.
     writer.Flush();
     writer.Close();  

  }
}
Imports System
Imports System.IO
Imports System.Xml

Public Class Sample 

  Public Shared Sub Main() 
 
     Dim writer As XmlWriter = Nothing

     writer = XmlWriter.Create("sampledata.xml")
        
     ' Write the root element.
     writer.WriteStartElement("book")

     ' Write the xmlns:bk="urn:book" namespace declaration.
     writer.WriteAttributeString("xmlns","bk", Nothing,"urn:book")
  
     ' Write the bk:ISBN="1-800-925" attribute.
     writer.WriteAttributeString("ISBN", "urn:book", "1-800-925")

     writer.WriteElementString("price", "19.95")

     ' Write the close tag for the root element.
     writer.WriteEndElement()
             
     ' Write the XML to file and close the writer.
     writer.Flush()
     writer.Close()  

  End Sub
End Class

備註

這個方法會寫出具有使用者定義的命名空間前置詞的屬性,並將它與指定的命名空間產生關聯。This method writes out the attribute with a user defined namespace prefix and associates it with the given namespace. 如果前置詞"xmlns"這個方法也會將它視為命名空間宣告,並宣告的前置詞關聯的 URI 中指定的屬性值所提供的命名空間。If the prefix is "xmlns" then this method also treats this as a namespace declaration and associates the declared prefix with the namespace URI provided in the given attribute value. 在此情況下ns引數可以是nullIn this case the ns argument can be null.

WriteAttributeString 會執行下列動作:WriteAttributeString does the following:

  • 如果屬性值包含雙引號或單一引號,取代了它們&quot;&apos;分別。If the attribute value includes double or single quotes, they are replaced with &quot; and &apos; respectively.

  • 如果撰寫xml:space屬性,則寫入器確認屬性值是否有效。If writing an xml:space attribute, the writer verifies the attribute value is valid. (有效值preservedefault。)(Valid values are preserve or default.)

  • 如果撰寫xml:lang屬性,則寫入器不會驗證屬性值是根據 W3C XML 1.0 recommendation 有效。If writing an xml:lang attribute, the writer does not verify that the attribute value is valid according to the W3C XML 1.0 recommendation.

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

WriteAttributeString(String, String) WriteAttributeString(String, String) WriteAttributeString(String, String) WriteAttributeString(String, String)

在衍生類別中覆寫時,寫出具有指定的區域名稱與數值的屬性。When overridden in a derived class, writes out the attribute with the specified local name and value.

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

參數

localName
String String String String

屬性的本機名稱。The local name of the attribute.

value
String String String String

屬性的值。The value of the attribute.

例外狀況

寫入器的狀態不是 WriteState.Element,或寫入器已關閉。The state of writer is not WriteState.Element or 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:spacexml:lang 屬性值無效。The xml:space or xml:lang attribute value is invalid.

範例

下列範例會寫出一本書。The following example writes out a book.

#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

備註

WriteAttributeString 會執行下列動作:WriteAttributeString does the following:

  • 如果屬性值包含雙引號或單一引號,取代了它們&quot;&apos;分別。If the attribute value includes double or single quotes, they are replaced with &quot; and &apos; respectively.

  • 如果撰寫xml:space屬性,則寫入器確認屬性值是否有效。If writing an xml:space attribute, the writer verifies the attribute value is valid. (有效值preservedefault。)(Valid values are preserve or default.)

  • 如果撰寫xml:lang屬性,則寫入器不會驗證屬性值是根據 W3C XML 1.0 recommendation 有效。If writing an xml:lang attribute, the writer does not verify that the attribute value is valid according to the W3C XML 1.0 recommendation.

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

適用於