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

Définition

Génère un objet à partir de sa représentation XML.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)

Paramètres

reader
XmlReader XmlReader XmlReader XmlReader

XmlReader source à partir de laquelle l'objet est désérialisé.The XmlReader stream from which the object is deserialized.

Exemples

L’exemple suivant illustre une implémentation de la ReadXml (méthode).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();
}

L’exemple suivant illustre l’utilisation de la XmlSerializer classe à désérialiser cet objet.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);
  }

}

Remarques

Le ReadXml méthode doit reconstituer votre objet en utilisant les informations qui a été écrit par le WriteXml (méthode).The ReadXml method must reconstitute your object using the information that was written by the WriteXml method.

Lorsque cette méthode est appelée, le lecteur est positionné sur la balise de début qui encapsule les informations pour votre type.When this method is called, the reader is positioned on the start tag that wraps the information for your type. Autrement dit, directement sur la balise de début qui indique le début d’un objet sérialisé.That is, directly on the start tag that indicates the beginning of a serialized object. Lorsque cette méthode est retournée, elle doit avoir lecture l’élément tout entier à partir du début à la fin, y compris tout son contenu.When this method returns, it must have read the entire element from beginning to end, including all of its contents. Contrairement à la WriteXml (méthode), le framework ne gère pas automatiquement l’élément wrapper.Unlike the WriteXml method, the framework does not handle the wrapper element automatically. Votre implémentation doit le faire.Your implementation must do so. Si vous ne respectez ces règles risque de code générer des exceptions runtime inattendues ou données endommagées.Failing to observe these positioning rules may cause code to generate unexpected runtime exceptions or corrupt data.

Lorsque vous implémentez cette méthode, vous devez envisager la possibilité qu’un utilisateur malveillant peut fournir une représentation XML bien formée mais non valide afin de désactiver ou de modifier le comportement de votre application.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.

S’applique à