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