CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: dani78 en Sábado 12 de Julio de 2008, 03:16
Título: Serialización XML de objetos C#
Publicado por: dani78 en Sábado 12 de Julio de 2008, 03:16
Hola a todos.
Estoy empezando a usar XML y tengo algunas dudas que no he conseguidor resolver mirando foros y ejemplos. La idea es serializar a XML el estado de un objeto dentro de una aplicación C#.
La clase en cuestión (Estancia) tiene atributos de otras clases del mismo proyecto, y es aquí donde tengo problemas. No sé qué etiquetas tengo que añadir para serializar una Estancia, o si debería añadirlas en las clases Extra y Regimen.
public class Estancia { public int referencia; public DateTime fecha_ent;
public ArrayList extras; /* colección de Extra public Regimen regimen; /* referencia a Regimen
public Estancia() { } ... }
Si alguien puede ayudarme, o necesita más información para hacerlo, estaría muy agradecido.
Título: Re: Serialización XML de objetos C#
Publicado por: famsoft en Miércoles 10 de Septiembre de 2008, 01:36
Hola saludos, verás para poder serializar tu clase debes primeramente especificar que son públicas, y la clase que vas serializar, poner el atributo [Serializable] así:
Código: Text
[Serializable]
public class Estancia
{
public int referencia;
public DateTime fecha_ent;
public ArrayList extras; /* colección de Extra */
public Regimen regimen; /* referencia a Regimen*/
public Estancia()
{ }
}
para serializar tu clase puedes hacerlo de la siguiente manera:
Código: Text
Estancia estancia = new Estancia();
FileStream file = new FileStream(@"D:estancia.xml", FileMode.Create);
XmlSerializer formato = new XmlSerializer(typeof(Estancia));
formato.Serialize(file, estancia);
file.Close();
Los namespaces a utilizar son : using System.IO; using System.Xml.Serialization;