IXmlSerializable.WriteXml(XmlWriter) Метод

Определение

Преобразует объект в представление XML.Converts an object into its XML representation.

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, в который выполняется сериализация объекта.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)
{
    writer.WriteString(personName);
}

В следующем примере показано использование 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.

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