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

Im folgenden Beispiel wird eine Implementierung der ReadXml -Methode veranschaulicht.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 XmlSerializer der-Klasse, um dieses Objekt zu deserialisieren.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 mit den Informationen, die von der WriteXml -Methode geschrieben wurden, wiederherstellen.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, das die Informationen für Ihren Typ umschließt.When this method is called, the reader is positioned on the start tag that wraps the information for your type. Das heißt, direkt auf dem Starttag, das den Anfang eines serialisierten Objekts angibt.That is, directly on the start tag that indicates the beginning of a serialized object. Wenn diese Methode zurückgegeben wird, muss Sie das gesamte Element von Anfang bis Ende lesen, einschließlich des gesamten Inhalts.When this method returns, it must have read the entire element from beginning to end, including all of its contents. Anders als WriteXml bei der-Methode behandelt das-Framework das Wrapper Element 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. Wenn diese Positionierungs Regeln nicht beachtet werden, kann der Code unerwartete Lauf Zeit Ausnahmen oder beschädigte Daten generieren.Failing to observe these positioning rules may cause code to generate unexpected runtime exceptions or corrupt data.

Beim Implementieren dieser Methode sollten Sie in Erwägung gezogen werden, dass ein böswilliger Benutzer möglicherweise eine wohlgeformte, aber ungültige XML-Darstellung bereitstellt, um das Verhalten der Anwendung zu deaktivieren oder anderweitig zu ändern.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: