Sdílet prostřednictvím


IXmlSerializable.WriteXml(XmlWriter) Metoda

Definice

Převede objekt na jeho reprezentaci 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)

Parametry

writer
XmlWriter

Proud XmlWriter, do kterého je objekt serializován.

Příklady

Následující příklad znázorňuje implementaci WriteXml metody.

virtual void WriteXml( XmlWriter^ writer )
{
   writer->WriteString( personName );
}
public void WriteXml (XmlWriter writer)
{
    writer.WriteString(personName);
}

Následující příklad znázorňuje použití XmlSerializer třídy k deserializaci tohoto objektu.

#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);
  }
}

Poznámky

Implementace WriteXml , kterou zadáte, by měla zapsat reprezentaci XML objektu. Architektura zapíše element obálky a umístí zapisovač XML po jeho spuštění. Vaše implementace může napsat její obsah, včetně podřízených prvků. Architektura pak zavře element obálky.

Napište do datového XmlWriter proudu dostatečné informace, aby ReadXml metoda mohla rekonstituovat objekt.

Pokud například váš stav objektu obsahuje maticovou proměnnou, nezapomeňte napsat délku pole nebo použít nadřazený prvek, který obsahuje prvky popisované maticové hodnoty, abyste věděli, kolik hodnot se má přečíst při rekonstituci objektu.

Platí pro