Qué es XML y cómo leer y abrir sus archivos

Autor: Publicado

En resumen: XML es un formato de texto para almacenar e intercambiar datos, en el que las etiquetas describen el significado y la estructura de la información. Se utiliza, entre otros casos, en integraciones de sistemas, archivos de configuración y mapas del sitio. Un archivo XML se puede leer en un editor de texto, pero para utilizarlo correctamente hay que conocer las reglas que aplica el sistema correspondiente.

Cómo funciona XML y qué significa su nombre

XML es la sigla de Extensible Markup Language, es decir, lenguaje de marcado extensible. Una etiqueta se escribe entre corchetes angulares, por ejemplo, <precio>. Permite indicar qué significa el valor situado entre las etiquetas.

«Extensible» significa que XML no impone una lista única de nombres de etiquetas. Quien diseña el formato puede definir elementos como <producto>, <pedido> o <cliente>. Sin embargo, los sistemas que intercambian datos deben acordar los nombres y la estructura: usar XML no basta para que cualquier programa entienda el archivo.

XML describe principalmente los datos, no su apariencia. Un archivo que contiene el precio y el nombre de un producto no determina automáticamente cómo deben mostrarse en la web de una tienda. La presentación depende de la aplicación o de reglas de procesamiento adicionales.

Cómo leer un archivo XML: un ejemplo sencillo

Así se podrían representar los datos de un solo producto:

<?xml version="1.0" encoding="UTF-8"?>
<producto id="123">
  <nombre>Taza de cerámica</nombre>
  <precio moneda="PLN">39.90</precio>
  <disponible>true</disponible>
</producto>

La primera línea es la declaración XML, que es opcional. Indica la versión del lenguaje y la codificación de caracteres, es decir, cómo se guardan las letras y otros caracteres en el archivo. Si la declaración especifica UTF-8, la codificación real del archivo debe coincidir con ella.

<producto> es el elemento raíz, que engloba los demás elementos. <nombre>, <precio> y <disponible> contienen valores. Por su parte, id="123" y moneda="PLN" son atributos: información adicional incluida en la etiqueta de apertura.

Los nombres de los elementos sugieren el significado de los datos, pero no definen todas las reglas. XML no determina por sí solo si el precio debe tener dos decimales ni si true indica que hay existencias. Estas reglas se establecen en la documentación del formato o en el esquema de datos.

Qué reglas debe cumplir un XML correcto

Un documento con una sintaxis correcta se denomina well-formed, o bien formado. Debe tener un único elemento raíz, y todos los elementos deben cerrarse y anidarse correctamente. <producto><nombre>Taza</producto></nombre> es incorrecto porque las etiquetas de cierre aparecen en un orden equivocado.

Al leer o corregir un archivo, las reglas más importantes son las siguientes:

Una sintaxis correcta no garantiza que el archivo cumpla los requisitos del destinatario. Para comprobar la estructura se puede utilizar un esquema XSD, un documento que describe los elementos permitidos, su orden y los tipos de valores. Un archivo puede ser XML bien formado y, aun así, ser rechazado por la aplicación, por ejemplo, porque falta el número de pedido.

Los documentos más complejos también incluyen espacios de nombres. Sirven para distinguir elementos que tienen el mismo nombre pero proceden de formatos diferentes. Por eso no deben eliminarse prefijos como abc: ni declaraciones xmlns solo porque parezcan innecesarios.

Dónde se utiliza XML y en qué se diferencia de HTML y JSON

XML se utiliza para intercambiar datos entre una tienda y un mayorista, en integraciones de sistemas empresariales y en algunos servicios web. También se emplea en RSS, un formato para distribuir actualizaciones de contenido, y en SVG, un formato de gráficos vectoriales. Los documentos DOCX y XLSX también contienen archivos XML.

Un mapa del sitio XML contiene direcciones de páginas y puede proporcionar a los buscadores información adicional sobre ellas. Sin embargo, no garantiza su indexación ni una posición determinada en los resultados de búsqueda.

HTML sirve para describir la estructura de las páginas web mediante elementos predefinidos, como encabezados y párrafos. XML permite crear nombres de elementos propios para almacenar datos. Por su parte, JSON es otro formato de texto para intercambiar datos, basado principalmente en pares de nombre y valor y en listas.

Para integraciones sencillas entre aplicaciones web, JSON suele ser más cómodo y conciso. XML puede ser una opción adecuada cuando lo exige el destinatario o un estándar existente. Por ejemplo, si un mayorista proporciona su catálogo en XML, la tienda necesita una herramienta de importación compatible con la estructura concreta de ese catálogo, no simplemente con cualquier archivo que tenga la extensión .xml.

Cómo abrir XML y utilizarlo de forma segura

Para consultar el archivo basta con un editor de texto. Un editor de código, además, resaltará las etiquetas y ayudará a encontrar errores. Un navegador web también puede mostrar la estructura XML o un mensaje de error de sintaxis, pero no sustituye la comprobación de que el archivo cumple los requisitos de la aplicación.

Antes de importar los datos, haz una copia del archivo, consulta el formato requerido en la documentación del destinatario y prueba con una pequeña muestra de datos. No envíes archivos con datos de clientes, contraseñas o información empresarial a validadores en línea elegidos al azar.

Si desarrollas una aplicación que lee XML de una fuente desconocida, configura de forma segura el analizador sintáctico, es decir, el programa que analiza el documento. Restringe el procesamiento de entidades externas y la descarga de recursos externos para evitar que el archivo provoque accesos no deseados a archivos o a la red.

Como primer paso práctico, abre el XML en un editor, localiza el elemento raíz y compara su estructura con la documentación del sistema en el que quieres introducir los datos.

Consulta también: ¿Qué es 2FA?

Lee también

Descubre cómo PHP-FPM atiende peticiones PHP, en qué se diferencia de un servidor web y cómo ajustar sus procesos al tráfico y los recursos.
Conoce BIND, el software abierto de servidor DNS: sus funciones, cómo gestiona dominios y cuándo conviene instalarlo por tu cuenta.
Descubre qué son el registro REGON de Polonia y su número, en qué se diferencian de NIP y KRS y cómo verificar los datos de una empresa.