Serializar un objeto a XML en C#
Este tutorial discutirá cómo serializar un objeto de clase en un archivo XML o una cadena en C#.
Serializar objeto a XML con la clase XmlSerializer
en C#
Serializar significa convertir objetos de clase a formato XML o binario. La clase XmlSerializer
convierte objetos de clase a XML y viceversa en C#. El método XmlSerializer.Serialize()
convierte todos los campos públicos y propiedades de un objeto de clase a formato XML. Necesitamos definir nuestra clase con el especificador de acceso público
si queremos escribirlo en un archivo XML o cadena. El siguiente ejemplo de código nos muestra cómo serializar un objeto de clase en una variable de cadena XML con la clase XmlSerializer
en C#.
using System;
using System.IO;
using System.Linq;
using System.Xml;
using System.Xml.Serialization;
namespace serialize_object {
public class Sample {
public string value { get; set; }
}
class Program {
static void Main(string[] args) {
Sample obj = new Sample();
obj.value = "this is some value";
string xml = "";
XmlSerializer serializer = new XmlSerializer(typeof(Sample));
using (var sww = new StringWriter()) {
using (XmlWriter writer = XmlWriter.Create(sww)) {
serializer.Serialize(writer, obj);
xml = sww.ToString(); // Your XML
}
}
Console.WriteLine(xml);
}
}
}
Producción :
<?xml version="1.0" encoding="utf-16"?><Sample xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="https://www.w3.org/2001/XMLSchema"><value>this is some value</value></Sample>
En el código anterior, serializamos el objeto obj
de la clase Sample
a una variable de cadena XML xml
con la función XmlSerializer.Serialize()
en C#. Primero inicializamos una instancia de la clase XmlSerializer
pasando el parámetro typeof(Sample)
. Esto crea una instancia de la clase XmlSerializer
de tipo Sample
. Luego creamos una instancia de la clase StringWriter
para escribir datos en una variable de cadena. Luego creamos una instancia de la clase XmlWriter
para escribir en la instancia de la clase StringWriter
. Luego escribimos el objeto en la instancia de la clase StringWriter
con serializer.Serialize(writer, obj)
y almacenamos el resultado en la variable de cadena xml
con la función ToString()
.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn