static void Main(string[] args) { string file_name = AppDomain.CurrentDomain.BaseDirectory + "SerializacionXml.xml"; Dato p = new Dato("Pepe", 20); /************************************* * Solo para un dato de tipo objeto * * ***********************************/ Console.WriteLine("Se crea el objeto 'P'..."); Console.WriteLine("P.Nombre : {0}", p.nombre); Console.WriteLine("P.Edad : {0}", p.edad); try { using (XmlTextWriter writer = new XmlTextWriter(file_name, System.Text.Encoding.UTF8)) { XmlSerializer ser = new XmlSerializer(typeof(Dato)); ser.Serialize(writer, p); } Console.WriteLine("Objeto 'P' serializado..."); Console.WriteLine("Deserealizando al objeto 'P'..."); using (XmlTextReader reader = new XmlTextReader(file_name)) { XmlSerializer ser = new XmlSerializer(typeof(Dato)); Dato aux = new Dato(); aux = (Dato)ser.Deserialize(reader); Console.WriteLine(aux.ToString()); } } catch (Exception ex) { Console.WriteLine(ex); Console.WriteLine("Error al Serializar los Datos"); } finally { Console.WriteLine("Saliendo del programa..."); Console.Read(); } }
static void Main(string[] args) { Dato p = new Dato("Pepe", 20); /************************************* * Sólo para un dato de tipo Dato * * ***********************************/ Console.WriteLine("Se crea el objeto 'P'..."); Console.WriteLine(); Console.WriteLine("P.Nombre : {0}", p.nombre); Console.WriteLine("P.Edad : {0}", p.edad); Console.ReadLine(); try { //Creo un objeto que 'sabe' como escribir en XML using (XmlTextWriter writer = new XmlTextWriter("C:\\Datos.xml", System.Text.Encoding.UTF8)) { //Creo un objeto que 'sabe' como serializar a XML //Le tengo que indicar que tipo de objeto se va a serializar XmlSerializer ser = new XmlSerializer(typeof(Dato)); //Utilizo el método Serialize, pasándole el 'escritor' de XML //y el objeto a serializar ser.Serialize(writer, p); } Console.WriteLine("Objeto 'P' serializado..."); Console.ReadLine(); Console.WriteLine("Deserealizando al objeto 'P'..."); Console.ReadLine(); //Creo un objeto que 'sabe' como leer de XML using (XmlTextReader reader = new XmlTextReader(FILE_NAME)) { //Creo un objeto que 'sabe' como deserializar de XML //Le tengo que indicar que tipo de objeto se va a deserializar XmlSerializer ser = new XmlSerializer(typeof(Dato)); //Utilizo el método Deserialize, pasándole el 'lector' de XML //Debo 'castear' al tipo de dato específico, ya que //el método Deserialize retorna un Object Dato aux = (Dato)ser.Deserialize(reader); Console.WriteLine(aux.ToString()); } } catch (Exception e) { Console.WriteLine("Falló la deserialización. Razones: " + e.Message); } finally { Console.WriteLine("Saliendo del programa..."); Console.ReadLine(); } }