Beispiel #1
0
        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();
            }
        }