IXmlSerializable.WriteXml(XmlWriter) メソッド


オブジェクトを 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 ストリーム。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.