IXmlSerializable.ReadXml(XmlReader) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Génère un objet à partir de sa représentation XML.
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
Exemples
L’exemple suivant illustre une implémentation de la ReadXml méthode.
public void ReadXml (XmlReader reader)
{
personName = reader.ReadString();
}
L’exemple suivant illustre l’utilisation de la XmlSerializer classe pour désérialiser cet objet.
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
La ReadXml méthode doit rétablir votre objet à l’aide des informations écrites par la WriteXml méthode.
Lorsque cette méthode est appelée, le lecteur est positionné sur la balise de démarrage qui encapsule les informations de votre type. Autrement dit, directement sur la balise de début qui indique le début d’un objet sérialisé. Lorsque cette méthode est retournée, elle doit avoir lu l’intégralité de l’élément de début à la fin, y compris tout son contenu. Contrairement à la méthode, l’infrastructure WriteXml ne gère pas automatiquement l’élément wrapper. Votre implémentation doit le faire. L’échec de l’observation de ces règles de positionnement peut entraîner le code pour générer des exceptions d’exécution inattendues ou des données endommagées.
Lors de l’implémentation de cette méthode, vous devez envisager la possibilité qu’un utilisateur malveillant puisse fournir une représentation XML bien formée mais non valide afin de désactiver ou de modifier le comportement de votre application.