IXmlSerializable.ReadXml(XmlReader) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Generiert ein Objekt aus der XML-Darstellung.
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
Beispiele
Im folgenden Beispiel wird eine Implementierung der ReadXml Methode veranschaulicht.
public void ReadXml (XmlReader reader)
{
personName = reader.ReadString();
}
Das folgende Beispiel veranschaulicht die Verwendung der XmlSerializer Klasse zum Deserialisieren dieses Objekts.
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 mithilfe der von der WriteXml Methode geschriebenen Informationen neu konstituieren.
Wenn diese Methode aufgerufen wird, wird der Leser auf dem Starttag positioniert, das die Informationen für Ihren Typ umschließt. Das heißt, direkt auf dem Starttag, das den Anfang eines serialisierten Objekts angibt. Wenn diese Methode zurückgegeben wird, muss das gesamte Element von Anfang bis Ende gelesen werden, einschließlich aller Inhalte. WriteXml Im Gegensatz zur Methode behandelt das Framework das Wrapperelement nicht automatisch. Ihre Implementierung muss dies tun. Wenn diese Positionierungsregeln nicht beachtet werden, kann Code unerwartete Laufzeit-Ausnahmen oder beschädigte Daten generieren.
Bei der Implementierung dieser Methode sollten Sie die Möglichkeit berücksichtigen, dass ein böswilliger Benutzer möglicherweise eine wohlgeformte, aber ungültige XML-Darstellung bereitstellt, um das Verhalten Ihrer Anwendung zu deaktivieren oder anderweitig zu ändern.