IXmlSerializable.WriteXml(XmlWriter) IXmlSerializable.WriteXml(XmlWriter) IXmlSerializable.WriteXml(XmlWriter) IXmlSerializable.WriteXml(XmlWriter) Method


將物件轉換成其 XML 表示。Converts an object into its XML representation.

 void WriteXml(System::Xml::XmlWriter ^ writer);
public void WriteXml (System.Xml.XmlWriter writer);
abstract member WriteXml : System.Xml.XmlWriter -> unit
Public Sub WriteXml (writer As XmlWriter)


XmlWriter XmlWriter XmlWriter XmlWriter

序列化物件的目標 XmlWriter 資料流。The XmlWriter stream to which the object is serialized.


下列範例說明WriteXml方法的執行。The following example illustrates an implementation of the WriteXml method.

virtual void WriteXml( XmlWriter^ writer )
   writer->WriteString( personName );
public void WriteXml (XmlWriter writer)

下列範例說明如何使用XmlSerializer類別來還原序列化這個物件。The following example illustrates the use of the XmlSerializer class to deserialize this object.

#using <System.Xml.dll>
#using <System.dll>
#using <Person.dll>

using namespace System;
using namespace System::Xml;
using namespace System::Xml::Serialization;

int main()
   // Create a person object.
   Person ^ fred = gcnew Person( "Fred Flintstone" );

   // Serialize the object to a file.
   XmlTextWriter^ writer = gcnew XmlTextWriter( "test.xml", nullptr );
   XmlSerializer^ serializer = gcnew XmlSerializer( Person::typeid );
   serializer->Serialize( writer, fred );
using System;
using System.Xml;
using System.Xml.Serialization;

public class Writer {

  public static void Main() {

    // Create a person object.
    Person fred = new Person("Fred Flintstone");

    // Serialize the object to a file.
    XmlTextWriter writer = new XmlTextWriter("test.xml", null);
    XmlSerializer serializer = new XmlSerializer(typeof(Person));
    serializer.Serialize(writer, fred);



WriteXml提供的執行應該寫出物件的 XML 標記法。The WriteXml implementation you provide should write out the XML representation of the object. 架構會寫入包裝函式專案, 並在其啟動後放置 XML 寫入器。The framework writes a wrapper element and positions the XML writer after its start. 您的執行可能會寫入其內容, 包括子項目。Your implementation may write its contents, including child elements. 然後, 架構會關閉包裝函式元素。The framework then closes the wrapper element.

將足夠的資訊XmlWriter寫入資料流程, 以允許方法重新組成您的ReadXml物件。Write sufficient information to the XmlWriter stream to allow the ReadXml method to reconstitute your object.

例如, 如果您的物件狀態包含陣列變數, 請務必寫入陣列的長度, 或使用父元素來包含描述陣列值的元素, 以便您知道當物件重組時要讀取的值數目。For example, if your object state includes an array variable, be sure to write the length of the array, or use a parent element to contain the elements that describe the array values, so that you know how many values to read when the object is reconstituted.