Freigeben über


IXmlSerializable.WriteXml-Methode

Konvertiert ein Objekt in seine XML-Darstellung.

Namespace: System.Xml.Serialization
Assembly: System.Xml (in system.xml.dll)

Syntax

'Declaration
Sub WriteXml ( _
    writer As XmlWriter _
)
'Usage
Dim instance As IXmlSerializable
Dim writer As XmlWriter

instance.WriteXml(writer)
void WriteXml (
    XmlWriter writer
)
void WriteXml (
    XmlWriter^ writer
)
void WriteXml (
    XmlWriter writer
)
function WriteXml (
    writer : XmlWriter
)

Parameter

  • writer
    Der XmlWriter-Stream, in den das Objekt serialisiert wird.

Hinweise

Die WriteXml-Implementierung, die Sie bereitstellen, sollte die XML-Darstellung des Objekts schreiben. Das Framework schreibt ein Wrapperelement und positioniert den XML-Writer hinter dessen Anfang. Die Implementierung schreibt ggf. dessen Inhalt, einschließlich untergeordneter Elemente. Das Framework schließt dann das Wrapperelement.

Schreiben Sie ausreichend ausführliche Informationen in den XmlWriter-Stream, damit die ReadXml-Methode das Objekt wiederherstellen kann.

Wenn beispielsweise im Objektzustand eine Arrayvariable enthalten ist, müssen Sie die Länge des Arrays schreiben oder ein übergeordnetes Element verwenden, das die Elemente zum Beschreiben der Arraywerte enthält. So wissen Sie beim Wiederherstellen des Objekts wie viele Werte gelesen werden müssen.

Beispiel

Im folgenden Beispiel wird eine Implementierung der WriteXml-Methode veranschaulicht.

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

Im folgenden Beispiel wird die Verwendung der XmlSerializer-Klasse zum Deserialisieren dieses Objekts veranschaulicht.

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

}
#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 );
}
import System.*;
import System.Xml.*;
import System.Xml.Serialization.*;
import System.Xml.Schema.*;

public class Writer
{
    public static void main(String[] args)
    {
        // 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(Person.class.ToType());
        serializer.Serialize(writer, fred);
    } //main
} //Writer 

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

IXmlSerializable-Schnittstelle
IXmlSerializable-Member
System.Xml.Serialization-Namespace