IXmlSerializable.WriteXml(XmlWriter) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オブジェクトを XML 表現に変換します。
public:
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)
パラメーター
例
次の例は、メソッドの実装を WriteXml 示しています。
virtual void WriteXml( XmlWriter^ writer )
{
writer->WriteString( personName );
}
public void WriteXml (XmlWriter writer)
{
writer.WriteString(personName);
}
次の例は、クラスを使用してこのオブジェクトを XmlSerializer 逆シリアル化する方法を示しています。
#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 表現を書き出す必要があります。 フレームワークはラッパー要素を書き込み、開始後に XML ライターを配置します。 実装では、子要素を含む内容を書き込む場合があります。 その後、フレームワークはラッパー要素を閉じます。
メソッドがオブジェクトを XmlWriter 再構成できるように ReadXml 、ストリームに十分な情報を書き込みます。
たとえば、オブジェクトの状態に配列変数が含まれている場合は、配列の長さを書き込むか、親要素を使用して配列値を記述する要素を格納し、オブジェクトが再構成されたときに読み取る値の数を把握します。