Comment : lire des données d'objet à partir d'un fichier XML (C# et Visual Basic)
Cet exemple lit des données d'objet écrites précédemment dans un fichier XML à l'aide de la classe XmlSerializer.
Exemple
Cet exemple de code est également disponible sous forme d'extrait de code IntelliSense. Dans le sélecteur d'extrait de code, il se trouve dans XML. Pour plus d’informations, consultez Extraits de code.
Public Class Book
Public Title As String
End Class
Public Sub ReadXML()
Dim reader As New System.Xml.Serialization.XmlSerializer(GetType(Book))
Dim file As New System.IO.StreamReader(
"c:\temp\SerializationOverview.xml")
Dim overview As Book
overview = CType(reader.Deserialize(file), Book)
Console.WriteLine(overview.Title)
End Sub
public class Book
{
public String title;
}
public void ReadXML()
{
// First write something so that there is something to read ...
var b = new Book { title = "Serialization Overview" };
var writer = new System.Xml.Serialization.XmlSerializer(typeof(Book));
var wfile = new System.IO.StreamWriter(@"c:\temp\SerializationOverview.xml");
writer.Serialize(wfile, b);
wfile.Close();
// Now we can read the serialized book ...
System.Xml.Serialization.XmlSerializer reader =
new System.Xml.Serialization.XmlSerializer(typeof(Book));
System.IO.StreamReader file = new System.IO.StreamReader(
@"c:\temp\SerializationOverview.xml");
Book overview = (Book)reader.Deserialize(file);
file.Close();
Console.WriteLine(overview.title);
}
Compilation du code
Remplacez le nom de fichier "c:\IntroToVB.xml" par le nom du fichier contenant les données sérialisées. Pour plus d'informations sur la sérialisation des données, consultez Comment : écrire des données d'objet dans un fichier XML (C# et Visual Basic).
La classe doit disposer d'un constructeur public sans paramètres.
Seuls les propriétés et les champs publics sont désérialisés.
Programmation fiable
Les conditions ci-dessous peuvent générer une exception.
La classe en cours de désérialisation ne dispose pas d'un constructeur public sans paramètres.
Les données contenues dans le fichier ne correspondent pas aux données de la classe à désérialiser.
Le fichier n'existe pas (IOException).
Sécurité
Vérifiez toujours les entrées et ne désérialisez jamais des données à partir d'une source non fiable. L'objet recréé s'exécute sur un ordinateur local avec les autorisations du code qui l'a désérialisé. Vérifiez toutes les entrées avant d'utiliser les données dans votre application.
Voir aussi
Tâches
Comment : écrire des données d'objet dans un fichier XML (C# et Visual Basic)