[Serializable] public class Person { public string Name { get; set; } public int Age { get; set; } public Person(string nom, int age) { Name = nom; Age = age; } private Person() { }//Constructeur pour la sérialization }2- on crée une class programme qui contient la liste,les methodes pour la saisie, la sérialisation et la déserialisation
public class Program { List Personnes = new List(); public void saisir() { while (true) { Console.WriteLine("saisir le nom"); string name = Console.ReadLine(); if (name == "") break; Console.WriteLine("saisir l'age"); int age = (ushort.Parse(Console.ReadLine())); Personnes.Add(new Person(name, age)); } } // Serialisation dans un fichier "Personne.xml" public void Serialize() { XmlSerializer serializer = new XmlSerializer(typeof(List)); Stream writer = new FileStream("Personne.xml", FileMode.Create); serializer.Serialize(writer, Personnes); writer.Close(); } //Déserialisation d'un fichier "Personne.xml" public void Deserialize() { XmlSerializer serializer = new XmlSerializer(typeof(List)); FileStream fs = new FileStream("Personne.xml", FileMode.Open); Personnes = (List)serializer.Deserialize(fs); fs.Close(); } }
class MainProgramm { static void Main(string[] args) { Program test1 = new Program(); test1.saisir(); test1.Serialize(); // on test la désérialisation dans un autre objet. Program test2 = new Program(); test2.Deserialize(); // La liste de l'objet test1 à été rechargée dans ce nouvel objet test2 ;-) } }4- enfin il faut ajouter les clauses Using
using System; using System.Collections.Generic; using System.Text; using System.Xml.Serialization; using System.IO;
XmlSerializer xmlSerializer = new XmlSerializer(objectToSerialize.GetType()); xmlSerializer.Serialize(xmlWriter, objectToSerialize);
using System.Xml.Serialization
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionencore il y a un problème dans "xmlSerializer.Serialize(xmlWriter, objectToSerialize);"