Cómo serializar y deserializar ficheros XML en C#


En esta entrada vamos a ver cómo serializar y deserializar un objeto a un fichero XML en C#.

Ya vimos cómo trabajar con ficheros Json cómodamente en .NET gracias a la librería de JsonNET. Los ficheros Json se han convertido en el estándar preferido para intercambiar datos entre aplicaciones, especialmente en ámbitos web.

Sin embargo, el formato XML sigue siendo ampliamente utilizado, y existen muchas situaciones en las que resulta interesante poder generarlos o leerlos.

Afortunadamente trabajar con ficheros XML en C# es extremadamente sencillo, y no es necesario emplear librerías de terceros ya que las herramientas necesarias están integradas en el propio .NET.

Anuncio:

Así, supongamos que queremos trabajar con la siguiente clase de ejemplo.

Que, a su vez, contiene una colección de la siguiente clase.

Serializar un objeto a un fichero XML, o el caso contrario, deserializar un fichero XMLa un objeto, es tan sencillo como lo siguiente.

Donde, como vemos, hemos empleado dos métodos 'saveToXML' y 'loadFromXML' para realizar la serialización y deserialización respectivamente a nuestra clase de ejemplo 'myItem'.

Aún podemos hacer el código más sencillo y reutilizable si convertimos estas funciones en funciones genéricas, de forma que trabajen con cualquier clase.

De esta forma, el código necesario para trabajar con ficheros XML para cualquier clase quedaría de la siguiente forma.

Finalmente, si sacamos estos métodos generales a un fichero externo como métodos de extensión, el código aún queda más sencillo y reusable, quedando así.

Podemos añadir estos métodos a nuestra colección de clases de extensión para trabajar de forma sencilla y cómoda con ficheros XML en .NET.

Anuncio:

Previous Cómo conectar dos Arduino por bus I2C
Next Servir páginas con estética Material Design desde ESP8266
1000