IXmlSerializable.ReadXml(XmlReader) IXmlSerializable.ReadXml(XmlReader) IXmlSerializable.ReadXml(XmlReader) IXmlSerializable.ReadXml(XmlReader) Method

Definition

Generiert ein Objekt aus seiner XML-Darstellung.Generates an object from its XML representation.

public:
 void ReadXml(System::Xml::XmlReader ^ reader);
public void ReadXml (System.Xml.XmlReader reader);
abstract member ReadXml : System.Xml.XmlReader -> unit
Public Sub ReadXml (reader As XmlReader)

Parameter

reader
XmlReader XmlReader XmlReader XmlReader

Der XmlReader-Stream, aus dem das Objekt deserialisiert wird.The XmlReader stream from which the object is deserialized.

Beispiele

Das folgende Beispiel zeigt eine Implementierung der ReadXml Methode.The following example illustrates an implementation of the ReadXml method.

virtual void ReadXml( XmlReader^ reader )
{
   personName = reader->ReadString();
}
public void ReadXml (XmlReader reader)
{
    personName = reader.ReadString();
}

Das folgende Beispiel veranschaulicht die Verwendung der XmlSerializer Klasse zum Deserialisieren dieses Objekts.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::IO;
using namespace System::Xml::Serialization;

int main()
{
   XmlSerializer^ serializer = gcnew XmlSerializer( Person::typeid );
   FileStream^ file = gcnew FileStream( "test.xml",FileMode::Open );
   Person^ aPerson = dynamic_cast<Person^>(serializer->Deserialize( file ));
   Console::WriteLine( aPerson );
}
using System;
using System.IO;
using System.Xml.Serialization;

public class Reader {

  public static void Main() {
    XmlSerializer serializer = new XmlSerializer(typeof(Person));
    FileStream file = new FileStream("test.xml", FileMode.Open);
    Person aPerson = (Person) serializer.Deserialize(file);
    Console.WriteLine(aPerson);
  }

}

Hinweise

Die ReadXml Methode muss das Objekt, die mit den Informationen, die vom geschrieben wurde Wiederherstellen der WriteXml Methode.The ReadXml method must reconstitute your object using the information that was written by the WriteXml method.

Wenn diese Methode aufgerufen wird, wird der Reader auf dem Starttag positioniert, der die Informationen für den Typ umschließt.When this method is called, the reader is positioned on the start tag that wraps the information for your type. Direkt auf dem Starttag angibt, d. h. den Anfang eines serialisierten Objekts.That is, directly on the start tag that indicates the beginning of a serialized object. Wenn diese Methode zurückgegeben wird, muss das gesamte Element von Anfang bis Ende, gelesen haben seinen gesamten Inhalt einschließlich.When this method returns, it must have read the entire element from beginning to end, including all of its contents. Im Gegensatz zu den WriteXml der Framework-Methode behandelt das Wrapperelement nicht automatisch.Unlike the WriteXml method, the framework does not handle the wrapper element automatically. Ihre Implementierung muss dies tun.Your implementation must do so. Beachten Sie diese Regeln für die Positionierung nicht möglicherweise Code zum Generieren von unerwarteten Laufzeitfehlern oder beschädigte Daten beeinflusst werden.Failing to observe these positioning rules may cause code to generate unexpected runtime exceptions or corrupt data.

Wenn Sie diese Methode implementieren, sollten Sie die Möglichkeit, dass ein böswilliger Benutzer eine wohlgeformte, aber ungültige XML-Darstellung zum Deaktivieren oder anderer Hinsicht ändern das Verhalten Ihrer Anwendung bereitstellen kann.When implementing this method, you should consider the possibility that a malicious user might provide a well-formed but invalid XML representation in order to disable or otherwise alter the behavior of your application.

Gilt für: