using System;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
namespace Recetas.CSharp.R0609
{
public class SerializacionXml
{
public static void Main()
{
Console.WriteLine ();
// Crea objeto CatalogoProducto:
CatalogoProducto catalogo = new CatalogoProducto("Catálogo 2017", DateTime.Now.AddYears(1));
// Productos para el nuevo catálogo:
Producto[] productos = new Producto[2];
productos[0] = new Producto("PC Gamer", 5500);
productos[1] = new Producto("Teclado y mouse gamer", 200);
catalogo.Productos = productos;
// Serialización a archivo:
XmlSerializer serializador = new XmlSerializer(typeof(CatalogoProducto));
FileStream fs = new FileStream("CatalogoProductos2017.xml", FileMode.Create);
serializador.Serialize(fs, catalogo);
fs.Close();
catalogo = null;
// Deserialización del catálogo a partir del archivo XML:
fs = new FileStream("CatalogoProductos2017.xml", FileMode.Open);
catalogo = (CatalogoProducto)serializador.Deserialize(fs);
// Muestra resultado de la deserialización en la salida estándar:
serializador.Serialize(Console.Out, catalogo);
Console.WriteLine ();
Console.ReadLine();
}
}
}