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. Framework 然后关闭包装元素。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.