IXmlSerializable.WriteXml(XmlWriter) 方法


Converts an object into its XML representation.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)



The XmlWriter stream to which the object is serialized.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.