Saltar al contenido
Case Converter Online
es

Formateador y validador XML

Pega tu XML para darle una sangría ordenada, minificarlo o comprobar que esté bien formado. El marcado roto se informa con la línea y la columna en lugar de adivinar cómo arreglarlo.

Pega tu XML o pulsa Ejemplo. Pulsa Ctrl y Enter para formatear. Todo funciona en tu navegador.

Qué hace el formateador XML

Un formateador XML organiza datos que se guardan como etiquetas anidadas. XML se usa en feeds RSS, sitemaps, API SOAP, layouts de Android, archivos pom.xml de Maven, documentos de Office y muchas exportaciones de datos. Las máquinas suelen escribirlo en una sola línea larga. Esta herramienta lo organiza con un elemento por línea y una sangría uniforme, para que el anidamiento sea fácil de seguir.

Tiene tres acciones:

  • Formatear aplica sangría al XML.
  • Minificar quita los espacios entre etiquetas para que el archivo ocupe menos.
  • Validar comprueba que el documento esté bien formado e informa del primer problema.

Cómo usarlo

  1. Pega XML en el cuadro de la izquierda, pulsa Abrir archivo o pulsa Ejemplo. El XML pegado se formatea al instante.
  2. Elige una Sangría de 2 espacios, 4 espacios o tabulaciones.
  3. Pulsa Formatear, Minificar o Validar. Ctrl+Intro repite la última acción.
  4. Pulsa Copiar, o Descargar para guardar el resultado como archivo .xml.

Antes y después

Un catálogo de productos en una sola línea:

<?xml version="1.0" encoding="UTF-8"?><catalog><book id="bk101"><author>Gambardella, Matthew</author><title>XML Developer's Guide</title><price>44.95</price></book><book id="bk102"><author>Ralls, Kim</author><title>Midnight Rain</title><price>5.95</price></book></catalog>

Después de Formatear con 2 espacios:

<?xml version="1.0" encoding="UTF-8"?>
<catalog>
  <book id="bk101">
    <author>Gambardella, Matthew</author>
    <title>XML Developer's Guide</title>
    <price>44.95</price>
  </book>
  <book id="bk102">
    <author>Ralls, Kim</author>
    <title>Midnight Rain</title>
    <price>5.95</price>
  </book>
</catalog>

El contenido de texto se queda en la misma línea que su elemento. Eso importa, porque poner un salto de línea dentro de <price>44.95</price> cambiaría el valor que lee un programa.

Minificar convierte la versión formateada de nuevo en la línea única de arriba. Validar con la misma entrada informa: XML bien formado. Elemento raíz <catalog>, 9 elementos en total.

Las secciones CDATA se quedan exactamente como están, así que <script><![CDATA[if (a < b) run();]]></script> sale sin cambios.

Errores que detecta el validador

Muchos formateadores XML “reparan” en silencio el marcado roto, por ejemplo cerrando una etiqueta en un sitio que no querías. Este comprueba primero el documento y se detiene en el primer problema. Estos son mensajes reales:

Entrada Mensaje
<to>Tove</from> Línea 2, columna 11: La etiqueta de cierre </from> no coincide con <to>, abierta en la línea 2
Smith & Sons Línea 1, columna 16: Un "&" suelto debe escribirse como &amp;
Un <item> que nunca se cierra Línea 4, columna 1: La etiqueta de cierre </list> no coincide con <item>, abierta en la línea 3
<book id=101/> Línea 1, columna 10: El valor de "id" debe ir entre comillas
Dos elementos de nivel superior Línea 2, columna 1: Solo se permite un elemento raíz y se encontró un segundo: <b>

Pulsa Mostrar en la entrada para mover el cursor al problema.

Qué significa “bien formado”

Un documento XML está bien formado cuando cumple las reglas básicas de sintaxis:

  • Cada etiqueta de apertura tiene su etiqueta de cierre, o se cierra sola, como <br/>.
  • Las etiquetas se cierran en el orden inverso al que se abrieron.
  • Hay exactamente un elemento raíz.
  • Los valores de los atributos van entre comillas simples o dobles, y ningún atributo aparece dos veces en el mismo elemento.
  • Un & o un < literal en el texto se escribe como &amp; o &lt;.
  • La declaración <?xml ... ?>, si existe, es lo primero del archivo.

Las entidades con nombre como &nbsp; solo se permiten cuando un DOCTYPE las declara, porque XML por sí mismo solo conoce cinco: &lt;, &gt;, &amp;, &apos; y &quot;. Por eso, si escribes &aacute; o &ntilde; como en HTML, sin un DOCTYPE que los declare, el validador muestra el error Entidad desconocida &aacute;. En un archivo UTF-8 puedes escribir directamente “á”, “ñ”, “¿” o “¡”, que se aceptan sin problema.

Consejos y límites

  • La validación no usa ningún esquema. Un documento puede estar bien formado y aun así tener elementos que tu aplicación no espera.
  • Los espacios dentro del texto se conservan. Si necesitas recolocar el texto, edítalo a mano.
  • Minificar conserva los comentarios. Bórralos antes si necesitas el archivo más pequeño posible.
  • Todo funciona en local, así que puedes pegar configuraciones internas y exportaciones con tranquilidad.

Otras formas de formatear XML

xmllint. En Linux y macOS, xmllint --format file.xml muestra una copia con sangría, y xmllint --noout file.xml solo informa de los errores. También puede validar contra un esquema con --schema.

VS Code. Instala una extensión de XML (la de Red Hat es una opción habitual) y ejecuta Dar formato al documento.

Notepad++. El plugin XML Tools añade un comando Pretty Print.

Herramientas relacionadas

Si tus datos están en JSON, usa el formateador JSON. Para archivos de configuración, el formateador YAML hace el mismo trabajo con YAML. Para páginas web, usa el formateador HTML, que entiende reglas de HTML que XML no permite.

Formateador XML: preguntas y respuestas

¿Por qué el formateador rechaza mi XML en lugar de arreglarlo?

Adivinar dónde debería ir una etiqueta que falta puede cambiar tus datos sin que te des cuenta. La herramienta comprueba primero que el XML esté bien formado y después lo formatea. Si no lo está, recibes la línea, la columna y qué está mal, para que hagas la corrección tú.

¿Comprueba mi XML contra un esquema?

No. Validar comprueba que el XML esté bien formado: las etiquetas coinciden, los atributos llevan comillas, hay un único elemento raíz y las entidades están bien escritas. Para validar contra un XSD o un DTD necesitas una herramienta que entienda esquemas, como xmllint.

¿Se cambia el texto dentro de los elementos?

No. El texto corto se queda en la misma línea que sus etiquetas, así que <title>Midnight Rain</title> se mantiene tal cual. Los comentarios, las secciones CDATA y la declaración XML también se conservan.

¿Puedo usarlo con HTML?

Solo si el HTML también es XML válido (XHTML). El HTML normal permite etiquetas como <br> sin cierre, algo que XML no admite. Para páginas web normales, usa el formateador HTML.

¿Se sube mi XML a algún sitio?

No. El formateador y el validador funcionan en tu navegador. Los archivos que abres con Abrir archivo se leen en tu dispositivo.

Más herramientas de código y datos

Ver todas las herramientas