.fw files.wiki
XML

Archivos XML

Archivo de lenguaje de marcado extensible

Un archivo .XML es un documento de lenguaje de marcado extensible de texto sin formato que se usa para almacenar datos estructurados y autoexplicativos.

Extensible Markup Language document

Más común
Desarrollador
World Wide Web Consortium (W3C)
Categoría
Datos y texto
Tipo MIME
application/xml
Formato
Texto
Primera versión
1998
Última versión
XML 1.1 Second Edition / XML 1.0 Fifth Edition
Estándar abierto
Sí

RSS feed XML

Desarrollador
RSS Advisory Board / Netscape / UserLand Software
Tipo MIME
application/rss+xml
Formato
Texto
Primera versión
1999
Última versión
RSS 2.0.11
Estándar abierto
Sí

Atom Syndication Format XML

Desarrollador
IETF
Tipo MIME
application/atom+xml
Formato
Texto
Primera versión
2005
Última versión
RFC 4287
Estándar abierto
Sí

Microsoft Office XML Format document

Desarrollador
Microsoft
Tipo MIME
application/xml
Formato
Texto
Primera versión
2003
Última versión
Office 2003 XML Reference Schemas
Estándar abierto
No

Android XML resource file

Desarrollador
Google / Open Handset Alliance
Tipo MIME
application/xml
Formato
Texto
Primera versión
2008
Última versión
Current Android resource XML format
Estándar abierto
Sí

Sitemap XML

Desarrollador
Google, Yahoo, Microsoft, Ask.com / sitemaps.org
Tipo MIME
application/xml
Formato
Texto
Primera versión
2005
Última versión
Sitemaps XML protocol 0.9
Estándar abierto
Sí

GraphML graph document

Desarrollador
Graph Drawing community / GraphML Working Group
Tipo MIME
application/graphml+xml
Formato
Texto
Primera versión
2001
Última versión
GraphML 1.0
Estándar abierto
Sí

MusicXML score document

Desarrollador
Recordare / MakeMusic / W3C Music Notation Community Group
Tipo MIME
application/vnd.recordare.musicxml+xml
Formato
Texto
Primera versión
2004
Última versión
MusicXML 4.0
Estándar abierto
Sí

XBRL instance document

Desarrollador
XBRL International
Tipo MIME
application/xml
Formato
Texto
Primera versión
2003
Última versión
XBRL 2.1
Estándar abierto
Sí

Apple XML property list

Desarrollador
Apple
Tipo MIME
application/x-plist
Formato
Texto
Primera versión
2001
Última versión
Property List XML DTD 1.0
Estándar abierto
No

Abrir un archivo .XML en línea

Leyendo el archivo…

¿Qué es un archivo .XML?

Un archivo con el formato .XML suele ser un archivo W3C Extensible Markup Language, un árbol jerárquico basado en texto que contiene información estructurada y auto descriptiva. W3C lanzó el formato XML en 1998 y la extensión del archivo no significa nada en particular en cuanto al vocabulario, ya que un archivo .xml usa cualquier lenguaje XML según el elemento raíz, el URI del espacio de nombres, la presencia de un DOCTYPE o el tipo MIME en él.

Algunos archivos que terminan en formato .xml son: archivos de configuración; archivos de exportación de datos; cargas útiles de API; archivos manifest; archivos de compilación; feeds web; sitemaps y otros. Por ejemplo, los feeds RSS suelen comenzar con "<rss version="2.0">" o "<rdf:RDF>" mientras que los feeds que siguen el formato Atom comienzan con "<feed xmlns='http://www.w3.org/2005/Atom'>". Ambos formatos se usan para distribuir contenido web. Mientras que Microsoft Office 2003 XML y Excel XML Spreadsheet 2003 son documentos de oficina XML individuales, las extensiones modernas usan archivos comprimidos basados en ZIP, por ejemplo, los archivos .docx, .xlsx y .pptx. Los archivos para crear las interfaces de usuario de las aplicaciones de Android pueden verse en varias ubicaciones como res/layout, res/values, AndroidManifest.xml, etc.

Otros tipos de formatos XML que podrían usar archivos .xml como una extensión adecuada incluyen el formato de archivo de gráficos GraphML; el formato de intercambio de partituras MusicXML; los formatos de informes empresariales XBRL y otros.

Cómo abrir un archivo .XML

Abrir un archivo .XML en Windows

  1. 1 Ve a la carpeta donde está tu archivo en Explorador de archivos. Normalmente, los archivos descargados terminan en Descargas.
  2. 2 Haz doble clic en tu archivo .XML si tienes una aplicación para archivos .xml en tu equipo. Si no se abre, pasa al paso tres.
  3. 3 Haz clic derecho en tu archivo .XML -> selecciona Abrir con -> Elegir otra aplicación.
  4. 4 Elige Visual Studio Code en la lista (Windows 11: elige Siempre). En Windows 10 -> marca "Usar siempre esta aplicación para abrir archivos .xml" y haz clic en Aceptar.

¿Sigue sin abrirse? Consulta los problemas comunes y sus soluciones, o ábrelo en tu navegador.

Programas para Windows

Abrir un archivo .XML en macOS

  1. 1 En la app Finder, localiza tu archivo .XML.
  2. 2 Solo haz doble clic en tu archivo .XML para abrir automáticamente el programa asociado con él.
  3. 3 ¿Necesitas otra app en tu Mac? Haz Control-clic en el archivo (o clic derecho con el mouse). En el menú emergente, selecciona Abrir con -> Visual Studio Code.
  4. 4 Si no aparece en la lista, elige Otra… y busca la aplicación manualmente.

¿Sigue sin abrirse? Consulta los problemas comunes y sus soluciones, o ábrelo en tu navegador.

Programas para macOS

Abrir un archivo .XML en Linux

  1. 1 Abre tu gestor de archivos. Según el escritorio, puede llamarse Archivos (GNOME), Dolphin (KDE Plasma), Nemo (Cinnamon) o Thunar (Xfce).
  2. 2 Haz doble clic en el archivo.
  3. 3 O elige otro programa haciendo clic derecho en el archivo -> Abrir con -> Visual Studio Code.
  4. 4 Instala Visual Studio Code (si no está instalado en tu equipo) desde el centro de software, el repositorio o Flathub.

¿Sigue sin abrirse? Consulta los problemas comunes y sus soluciones, o ábrelo en tu navegador.

Programas para Linux

Abrir un archivo .XML en Android

  1. 1 Abre Archivos u otra app de gestión de archivos.
  2. 2 En Descargas, busca el archivo .XML y ábrelo tocándolo.
  3. 3 Se mostrará una lista de apps capaces de abrir el archivo. Toca Mozilla Firefox y pulsa Siempre para asociar de forma permanente este tipo de archivo con esta app.
  4. 4 ¿No hay ninguna app capaz de abrir este archivo? Descarga Mozilla Firefox desde Google Play Store.

¿Sigue sin abrirse? Consulta los problemas comunes y sus soluciones, o ábrelo en tu navegador.

Programas para Android

Abrir un archivo .XML en iPhone / iPad

  1. 1 Usa la app Archivos y ve a En mi iPhone, iCloud Drive o Descargas.
  2. 2 Toca el archivo .XML que quieras abrir.
  3. 3 Si el archivo puede abrirse con una app integrada de iOS (formato compatible), se abrirá automáticamente.
  4. 4 Mantén pulsado el archivo para abrir el menú contextual -> elige Compartir -> selecciona Mozilla Firefox en la lista de apps.
  5. 5 Si no aparece esa opción, primero descarga la app desde el App Store y luego toca el documento otra vez.

¿Sigue sin abrirse? Consulta los problemas comunes y sus soluciones, o ábrelo en tu navegador.

Programas para iPhone / iPad

Abrir un archivo .XML en línea

  1. 1 Ve al visor en línea en la parte superior de esta página.
  2. 2 Arrastra el archivo hasta allí o selecciónalo, y su contenido aparecerá en la pestaña de tu navegador. El archivo no se sube.

¿Sigue sin abrirse? Consulta los problemas comunes y sus soluciones, o ábrelo en tu navegador.

Programas para En línea

Más detalles sobre cómo abrir archivos .XML

En Windows, trabajar con el formato .xml requerirá abrir Visual Studio Code, o Notepad++ (para edición de texto puro), Oxygen XML Editor (para validación de DTD y/o esquema) y un navegador en caso de que solo necesites verlo. Microsoft Excel abrirá .xml con hojas de cálculo; LibreOffice abre varios tipos de XML de oficina y exportaciones tabulares, mientras que Android Studio será la mejor opción para archivos .xml de recursos de Android; yEd funcionará mejor con el formato GraphML; las partituras de MusicXML se abrirán en MuseScore, y Arelle gestionará archivos de instancia XBRL. En ese orden, Visual Studio Code y Notepad++ serán herramientas gratuitas, mientras que Oxygen costará algo de dinero, y el resto del software varía según la edición. Si al hacer doble clic se desencadena un error y se abre una aplicación de software incorrecta, intenta usar "abrir con", reasigna las asociaciones de archivos a .xml, o abre el software con antelación y luego pulsa Archivo>Abrir.

En Mac OS tendrás disponible TextEdit para abrir documentos XML pequeños; XCode para editar documentos Property List y datos de proyecto basados en XML; Safari (navegador), Firefox y Chrome podrán mostrar XML bien formado; Oxygen XML y VS Code pueden encargarse de cualquier comprobación o edición de documentos XML. Paquetes adicionales disponibles: LibreOffice, Microsoft Excel, yEd, MuseScore y Arelle.

Para tu trabajo en Linux necesitarás software tan útil como GNOME Text Editor y Kate o VS Code, Vim, Emacs, LibreOffice, baseX, xmlStarlet, MuseScore, yEd, Arelle. En general, todo el software mencionado te costará poco o nada, mientras que, para archivos grandes, evita abrir el documento con cualquier editor simplista que lo cargue por completo en la memoria. En su lugar, prueba opciones como usar un "large files mode" especial en Oxygen XML, o less, o comprobaciones basadas en flujo desde la utilidad de línea de comandos xmllint, o BaseX, y/o utilidades de importación de bases de datos.

En sistemas Android/iOS, las aplicaciones de navegador y los editores de texto bastarán para ver el formato .xml, mientras que Feedly debería poder abrir XML RSS y/o ATOM. En la Web, para dialectos XML específicos podrías necesitar fuentes como: sitios web de Github, GitLab; visores y validadores online en el navegador; Feedly, versiones online de Microsoft Office.

Nunca supongas que el hecho de que el archivo termine en .xml tiene algo que ver realmente con un archivo de Word o Excel; en su lugar, mira el elemento raíz.

Detalles técnicos

XML es un formato de texto, normalmente codificado en Unicode. La versión del documento XML puede especificarse declarando version="1.0" o version="1.1", y también se puede declarar una codificación (por ejemplo, "UTF-8", "UTF-16" o cualquier charset registrado). No hay ningún número mágico que especifique el vocabulario. Aunque la mayoría de los archivos empieza con la secuencia de bytes ASCII 3C 3F 78 6D 6C (que forma "<?xml"), un documento válido puede comenzar con espacios en blanco, una marca de orden de bytes, un comentario o incluso no tener declaración XML. Para la codificación UTF-8, la secuencia EF BB BF marca el inicio del archivo; FF FE, para UTF-16LE; y FE FF, para UTF-16BE (esta información no dice nada sobre el tipo de archivo).

Los requisitos para que un documento XML esté bien formado son la existencia de exactamente un elemento de documento, un anidamiento correcto de las etiquetas, atributos entre comillas, el escape de caracteres reservados como &lt; y &amp;, e incluir solo caracteres dentro de los rangos XML especificados. Los espacios de nombres normalmente se declaran usando atributos xmlns y asignan nombres con URI, lo que permite que vocabularios como Atom, XBRL y Office XML convivan en un solo archivo sin choques de nombres para los elementos. Además de estar bien formado, un documento puede validarse frente a DTD, un archivo W3C XML Schema .xsd, RELAX NG, Schematron o reglas impuestas por una aplicación. XML también contiene comentarios, instrucciones de procesamiento, secciones CDATA, referencias a entidades, contenido de elementos, atributos y, si el parser los admite, referencias externas.

El tamaño del archivo puede variar desde unos pocos cientos de bytes para archivos de configuración hasta varios gigabytes para logs, dumps, envíos XBRL o dumps de bases de datos. Es muy verboso, pero se comprime bien en contenedores ZIP y otros esquemas de compresión. Las especificaciones XML 1.0 y XML 1.1 fueron publicadas por W3C, y sus versiones actuales son XML 1.0 Fifth Edition y XML 1.1 Second Edition, respectivamente. Los tipos MIME típicos que se usan son application/xml, text/xml, application/rss+xml, application/atom+xml, application/graphml+xml, application/vnd.recordare.musicxml+xml, application/x-plist.

Cómo convertir archivos .XML

Convierte XML a JSON en casos en los que el sistema de destino será una API web y o aplicaciones JavaScript. Programas como xml-to-json, o utilidades de línea de comandos xq o yq ofrecen traducciones simples: Ejemplo: xq -o=json . input.xml >output.json. Sin embargo, el manejo de atributos, los elementos repetidos, los espacios de nombres y el contenido mixto requieren mapeos que deben codificarse manualmente en Python, Node.js u otros programas de naturaleza similar. No existe una correspondencia uno a uno en el caso XML a JSON; por lo tanto, los comentarios y las instrucciones de procesamiento suelen desaparecer en el proceso.

Usa la conversión de XML a CSV cuando el documento de origen describa una forma tabular de registros repetidos. Varias herramientas (xmlstarlet, traductores XML/XSLT, convertidores XML/SQL, etc.) aplanarán filas de datos. Ejemplo: xmlstarlet sel -t -m '//row' -v 'field1' -o ',' -v 'field2' -n input.xml > output.csv. Cabe señalar que el nivel jerárquico de los datos resultantes no se conservará. Usa procesadores XSLT o los exportadores de cualquier aplicación para crear informes y manuales HTML.

Los formatos XML como SpreadsheetML son compatibles con Excel (convertibles al formato .xlsx) o LibreOffice (convertibles al formato .ods). Sin embargo, en general es necesario tener definido un formato de importación o usar un mapeo personalizado de columnas. Junto con archivos XSL FO, XML podría traducirse a PDF mediante el procesador Apache FOP. La lista de conversiones desde archivos basados en XML creados por ciertas aplicaciones (listas de propiedades de Apple, notaciones musicales - en formato de archivo XML .xml, etc.) a formatos nativos (.plist o .mxl, MIDI, pdf y partituras) podría realizarse mediante herramientas específicas de cada aplicación. Parte de la información (orden y número de elementos, espacios de nombres, espacios significativos, información de tipo y datos de firma) puede desaparecer después de dichas conversiones, como de costumbre.

Convertir aHerramientaComando / nota
JSON xq / yq xq -o=json . input.xml > output.json Ideal para XML orientado a datos; los atributos, los espacios de nombres, el texto mixto, los comentarios y los elementos repetidos pueden requerir un mapeo personalizado.
HTML Saxon-HE XSLT processor java -jar saxon-he.jar -s:input.xml -xsl:stylesheet.xsl -o:output.html Requiere una hoja de estilo XSLT; conserva solo los datos seleccionados por la hoja de estilo.
CSV xmlstarlet xmlstarlet sel -t -m '//row' -v 'field1' -o ',' -v 'field2' -n input.xml > output.csv Útil para XML de tipo registro regular; la jerarquía, los atributos y los campos anidados repetidos se aplanan o se descartan.
XLSX LibreOffice headless libreoffice --headless --convert-to xlsx input.xml --outdir out Funciona con XML con estructura de hoja de cálculo, como Microsoft Office XML o tablas importables; el XML genérico puede requerir un filtro de importación o un esquema.
PDF Apache FOP fop input.fo output.pdf XML primero debe ser XSL-FO o transformarse a XSL-FO; PDF tiene un diseño fijo y no es una representación editable fiel de XML.
Binary property list plutil plutil -convert binary1 file.xml -o file.plist Se aplica solo a listas de propiedades XML de Apple, no a documentos XML arbitrarios.
Compressed MusicXML MuseScore Studio Abre una partitura MusicXML .xml en MuseScore y exporta .mxl para reducir el tamaño; se conservan la semántica de la partitura, pero puede cambiar el grabado específico de la aplicación.

Problemas comunes y soluciones

En algunos casos, esos errores pueden generarse como mensajes de navegadores como Mozilla Firefox y Google Chrome. Algunos mensajes incluyen "This page contains the following errors," y "XML Parsing Error." Es esencial primero editar el contenido del archivo mediante VS Code, Notepad++ o oxygen XML Editor y volver a analizar el problema específico en referencia con el número de línea y la columna concretos.

El mensaje "Content is not allowed in prolog" significa la presencia de contenido extraño en el prolog, caracteres ocultos después de copiar contenido de otras fuentes, una codificación BOM de UTF-8 incorrecta y espacios en blanco antes de la declaración XML. Vuelve a guardar el archivo con la codificación XML adecuada, elimina cualquier carácter antes de "<?xml", y asegúrate de que no entre ningún carácter adicional en el archivo XML durante el proceso de cortar y pegar, especialmente al copiar desde correos electrónicos. "Premature end of file" sugiere un fallo al guardar o copiar archivos debido a un truncamiento. Comprueba tus archivos actuales con los archivos originales, compara los tamaños y reenvíalos en modo binario de envío.

"Reference to undeclared entity" significa el uso de entidades no definidas dentro de archivos XML en caso de que las únicas entidades válidas para ese tipo de archivos sean solo amp, lt, gt, apos y quot, pero no haya ninguna declaración de tipo de documento presente. Sustituye la entidad no definida o añade una declaración de tipo de documento al archivo. Cuando aparece el mensaje "The prefix ... is not bound", eso significa que un prefijo de espacio de nombres no tiene una declaración xmlns dentro del ámbito. Tienes que añadir el URI faltante del espacio de nombres en el archivo XML.

Microsoft Excel puede mostrar "The specified XML source does not refer to a schema" o convertirlo todo en una sola tabla. Da un mapeo Xsd al archivo para resolver estos problemas o elige un archivo XML de Office adecuado para abrirlo. Los archivos de gran tamaño hacen que los editores se congelen; intenta dividir los archivos enormes o usar bases de datos como BaseX, eXist-db y analizar el archivo usando SAX y Stax. Hay muchas razones para una asociación incorrecta de archivos porque hay muchos tipos de documentos bajo esta asociación de archivos (.xml).

Consideraciones de seguridad

Sin embargo, aunque por sí solo no pueda ejecutarse de ninguna manera, los analizadores o las aplicaciones anfitrionas quedan expuestos a posibles explotaciones en ciertos casos. Prohíbe el uso de las definiciones de tipo de documento y la resolución de las referencias de entidad, ya que el posible ataque se basa en que lean archivos locales del sistema o hagan solicitudes de red. Aplica restricciones al uso de entidades o a la profundidad de la recursión para limitar ataques como "billion laughs attack" o elementos profundamente anidados, ya que pueden sobrecargar tu memoria o tu CPU.

El archivo SVG, los archivos XHTML o cualquier contenido con Office XML, si se analizan con un navegador o con algún producto de Office, pueden ejecutar script. Los metadatos en el archivo XML pueden revelar nombres de usuario, nombres de archivo, números de versión del software, marcas de tiempo de archivos, el nombre de bases de datos usadas, o incluso algunos comentarios, URLs internas, datos de seguimiento. Analiza la entrada con una biblioteca de analizador segura. Evita abrir cualquier archivo sobre el que no estés seguro en aplicaciones empresariales con un nivel de privilegio lo suficientemente alto. Analiza y verifica las firmas en XML.

Historia y versiones

XML 1.0 fue definido como Recomendación del W3C en febrero de 1998. El formato se concibió como una versión ligera de SGML específicamente para uso web y contó con el liderazgo del W3C a cargo de Jonathan Bosak y del Grupo de Trabajo sobre XML, con representantes de Sun, Microsoft, Netscape, y demás. Los espacios de nombres de XML aparecieron ya en 1999, lo que hizo posible compartir un mismo documento entre vocabularios independientes sin colisiones en la nomenclatura de los elementos. Ese mismo año aparecieron XSLT 1.0 y XPath 1.0, que definieron los conceptos de transformaciones y selección de nodos, respectivamente, dentro del mundo editorial y empresarial.

XML ha ocupado una posición firme como formato de intercambio dominante gracias a tecnologías como los feeds RSS, los mensajes SOAP, los feeds Atom, XBRL, el formato de documentos de oficina, Office XML y la configuración y los recursos de Android en la década de 2000. XML 1.0 tuvo competencia de JSON a comienzos de la década de 2010, pero sigue siendo un estándar de intercambio importante en la edición, el ámbito financiero, las agencias gubernamentales, los archivos de configuración, la notación musical y el intercambio basado en estándares. XML 1.0 5th Edition, así como XML 1.1 2nd edition, son estándares del W3C con amplio soporte para XML 1.0 por parte de la mayoría de los programas.

JSON es más pequeño, es directamente compatible con objetos de JavaScript, pero no tiene comentarios, soporte para contenido mixto, manejo de atributos, ni esquemas y transformaciones XML. YAML resulta más fácil a la vista cuando necesitas archivos de configuración, pero es más difícil de analizar y tiene problemas de ambigüedad de tipos, mientras que XML es más estricto y más adecuado para usar al crear marcado de documentos. Los CSV funcionan perfectamente con hojas de cálculo planas de datos, que luego pueden abrirse fácilmente con software de hojas de cálculo y no representan correctamente nada más. XHTML y HTML son lenguajes de marcado usados en línea, y XML es un metalenguaje, lo que significa que XML es un lenguaje a partir del cual se pueden crear otros como XHTML. XSD, DTD, RNG y SCH comprueban la corrección de XML pero no contienen los datos reales almacenados dentro de un archivo XML. XSL y XSLT convierten archivos XML en otros formatos como XHTML, texto normal y marcado para preparación de PDF. DOCX, XLSX y PPTX son archivos contenedores que contienen varias partes XML juntas y no son documentos XML de Office 2003 de un solo archivo. MXL significa MusicXML comprimido y PLIST puede significar tanto XML como binario.

Comentarios (0)

Respondiendo a

Aún no hay comentarios. Sé el primero en compartir tu experiencia con este tipo de archivo.