Transformar XML a C#

Muchísimas veces nos vemos forzados a trabajar con XML, una práctica que aunque al principio no me agradaba, sí que es útil para dar un servicio a equipos IT que desean enviar una serie de parámetros variables, como configuración al inicio de una aplicación (por ejemplo). Vamos a ver una forma sencilla de trabajar con esto y convertirlo a clases de C#.

 

En primer lugar, consideremos que tenemos este XML:

Pues bien, lo que haremos será crear una clase para cada tipo de nodo diferente. De este modo empezaremos por cada nodo <data>. Quedaría de esta forma:

Después con el Login, de la misma forma:

Y por último la clase que compondrá todo el conjunto que vamos a parsear:

 

Y ahora viene la magia. Tan sólo tenemos que crearnos una clase genérica que nos permita serializar un XML. Gracias a las etiquetas que hemos puesto en las clases generadas, dispondremos de todo para poder hacer uso de ellos directamente en nuestro código.

 

¿Cómo usarlo? Pues así de sencillo.

  • Nos creamos un proyecto de consola de C#
  • Copiamos el contenido del XML en la siguiente ruta C:\SPFtw\test.xml
  • Copiamos las clases que hemos comentado anteriormente.
  • En nuestro proyecto de consola introducimos este código:

Con esta solución pretendo aportar una forma mucho más limpia y dinámica que la que muchas veces se utiliza leyendo cada nodo de forma estática y que no nos permite editar el XML sin tener que recompilar para ello nuestra solución.

XML ftw!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.