IXmlSerializable.WriteXml(XmlWriter) Метод

Определение

Преобразует объект в его 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)

Параметры

writer
XmlWriter

Поток 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 методу воссоздать объект.

Например, если состояние объекта содержит переменную массива, обязательно запишите длину массива или используйте родительский элемент, чтобы содержать элементы, описывающие значения массива, чтобы узнать, сколько значений следует считать при повторном создании объекта.

Применяется к