Escritura de archivos xml - XmlDocument

Extensible Markup Language, XML: Lenguaje de Marcado Extensible, diseñado para almacenar, presentar y transportar datos estructurados que pueden ser entendidos por computadoras y seres humanos.

Un archivo XML presenta información estructurada a partir de etiquetas, igual a la estructura de HTML.

Los archivos XML se estructuran jerárquicamente de lo general a lo específico mediante nodos que agrupan la información, esta información puede ser representada como otro nodo hijo o como atributos del nodo padre.


Figura 1: Representación XML, información de usuario.

En la Figura 1 se observa el ejemplo de una estructura simple que presenta la información de un usuario registrado en algún sitio imaginario. Observando la estructura identificamos que el nodo padre es la etiqueta <Usuario>, este nodo padre esta compuesto por atributos nombre y apellido que representan información especifica del nodo y contiene a su vez contiene nodos hijo <Perfil> y <Preferencias>.

Implementación

Realizaremos el proceso de escritura para el XML presentado en la Figura 1 utilizando como herramientas Visual Studio Community 2013, lenguaje C# y la clase XmlDocument perteneciente al espacio de nombres System.Xml.

Proceso de escritura:

Paso 1.- Crear un nuevo proyecto "Aplicación de consola" en Visual Studio.
Paso 2.- Agrega la referencia using System.Xml;
Paso 3.- Crear un método getXmlEjemplo() con los modificadores private y static con tipo de retorno void, este método será el responsable de la creación del archivo XML en una ruta específica.

A continuación se muestra el código correspondiente al método getXmlEjemplo()


Figura 2: Creación de nodos y atributos.

En la Figura 2 se pueden observar las siguientes clases y métodos:

Clases
XmlDocument: Representa un documento y pude realizar operaciones de lectura, escritura, edición, validación y otras funciones más avanzadas.
XmlElement: Representa un elemento dentro de la estructura de nodos.

Método
CreateElement: El método crea un nuevo elemento con el nombre señalado como parámetro.
SetAttribute: Crea un atributo sobre el elemento que lo invoca, si el atributo no existe el método lo crea y registra el valor señalado, si el atributo si existe el método simplemente actualiza el atributo con el valor recibido en el segundo parámetro.

Paso 4.- Integrar los elementos(nodos) al documento XML y guardarlo en la ruta correspondiente.

Figura 3: Agrega nodos al elemento padre.

El método AppendChild recibe como parámetro el objeto de tipo XmlElement que corresponde al nodo padre.

Finalmente el elemento oUsuario ya contiene los elementos hijo Perfil y Preferencias solo resta agregar el nodo Usuario al documento oXml he invocar el método Save para guardar el archivo en la ruta señalada.


Descarga el ejemplo dando click aquí.


Referencias:
XML en 10 puntos  - Consultado el 30/06/2018.
Tutorial XML - Consultado el 30/06/2018


Entradas más populares de este blog

Validación Xml tipo CFDI contra su XSD en C#

Lectura de archivos XML - XmlDocument

Cómo leer un certificado X509