---
title: "Creación de archivos XML a partir de bases de datos relacionales"
date: "2011-03-05"
tags: 
  - "cloud-services"
  - "database-tool"
  - "databasespy"
  - "mapforce"
  - "xml-editor"
  - "xmlspy"
description: Descubra métodos eficientes para crear archivos XML bien estructurados a partir de bases de datos relacionales, utilizando DatabaseSpy y XMLSpy, lo que simplificará los procesos de conversión de datos.
---
Status: #blog

Tags:  #cloud-services #database-tool #databasespy #mapforce #xml-editor #xmlspy

Categories: [Altova](/blog/es/category/altova.md) 
# Creación de archivos XML a partir de bases de datos relacionales

A veces, seguir un ejemplo creado por otra persona es una buena manera de comenzar rápidamente un proyecto. La desventaja es que podrías perderte una solución mejor y más eficiente. En nuestra publicación reciente sobre [XML en la nube](https://www.altova.com/blog/2011/01/xml-in-cloud.html), utilizamos [DatabaseSpy](https://www.altova.com/es/databasespy.html) para conectarnos a una base de datos MySQL local y al servicio de bases de datos relacionales de Amazon en la nube. Utilizamos la función Concat() en una sentencia SELECT de SQL para crear una salida en formato XML a partir de datos que no están en formato XML, como se muestra a continuación. 

[![Consulta SQL y resultados en DatabaseSpy](https://lh5.ggpht.com/_REdrfeVqYdU/TXAFWTSfrEI/AAAAAAAAAWA/NLFW5WoHMRw/clip_image002_thumb%5B2%5D.gif?imgmax=800 "DatabaseSpy SQL query and result")](http://lh4.ggpht.com/_REdrfeVqYdU/TXAFVWm-iAI/AAAAAAAAAV8/d8jL8EwJ9gU/s1600-h/clip_image002%5B5%5D.gif) 

Nuestra instrucción SELECT se basó en un ejemplo que se encuentra en la documentación de MySQL sobre el soporte para XML. Analicemos un poco más a fondo el problema que esta afirmación intenta abordar. Puede copiar una tabla de resultados de DatabaseSpy, como la que se muestra arriba, y pegarla en una ventana de edición en [XMLSpy](https://www.altova.com/es/xmlspy.html), pero la tabla de resultados por sí sola no crea un documento XML bien formado. Para estar correctamente estructurado según [la definición del W3C](http://www.w3.org/TR/2004/REC-xml-20040204/#sec-well-formed), Un documento XML debe contener un elemento raíz. Todos los demás elementos y estructuras lógicas deben estar contenidos dentro del elemento raíz. También puede considerar el elemento raíz como un contenedor que envuelve todo el contenido XML, de la misma manera que el elemento <city></city> encierra cada línea en nuestros resultados originales. **Una forma más eficiente de crear archivos XML a partir de datos relacionales** No es necesario editar manualmente los resultados para añadir un elemento raíz, ni tampoco es necesario modificar nuestra ya compleja consulta SQL para incluir ese elemento. DatabaseSpy nos permite exportar fácilmente documentos XML bien estructurados desde las tablas de la base de datos que contienen datos comunes, como, por ejemplo, nuestra tabla de ciudades. En el cuadro de diálogo de exportación de DatabaseSpy, podemos elegir "Estructura XML" como formato de salida, hacer clic en la tabla "cities" para seleccionarla de la jerarquía de la base de datos, y elegir "XMLSpy" como destino. La sección de "Vista previa" que se encuentra en la parte inferior del cuadro de diálogo de exportación muestra una representación del contenido de la tabla. 

[![Diálogo de exportación de DatabaseSpy ](https://lh6.ggpht.com/_REdrfeVqYdU/TXAFWzPSEgI/AAAAAAAAAWI/8exV2WmHjVk/clip_image004_thumb%5B2%5D.jpg?imgmax=800 "DatabaseSpy Export Dialog ")](http://lh6.ggpht.com/_REdrfeVqYdU/TXAFWl-nGmI/AAAAAAAAAWE/x4aIWvoKfUo/s1600-h/clip_image004%5B5%5D.jpg) 

Cuando hacemos clic en el botón "Exportar", DatabaseSpy formatea los datos relacionales utilizando nombres de elementos XML derivados de los nombres de las columnas de la tabla, y envía el resultado directamente a XMLSpy. La captura de pantalla que se muestra a continuación muestra una parte del archivo en XMLSpy. La ventana de "Mensajes" en la parte inferior confirma que el archivo está correctamente estructurado. 

[![Ventana de edición de XMLSpy y ventana de mensajes](https://lh5.ggpht.com/_REdrfeVqYdU/TXAFXnLexvI/AAAAAAAAAWQ/5K3VWPBWKC4/clip_image006_thumb%5B1%5D.jpg?imgmax=800 "XMLSpy Editing window and Message window")](http://lh5.ggpht.com/_REdrfeVqYdU/TXAFXClQrzI/AAAAAAAAAWM/ct2iCbJiSDA/s1600-h/clip_image006%5B4%5D.jpg)

Tenga en cuenta que DatabaseSpy proporcionó el elemento raíz <Import name = “cities”> y añadió comentarios para describir los tipos de datos de las columnas de la tabla de la base de datos. Además, no tuvimos que construir una sentencia SQL con una función `Concat()` engorrosa. Comenzamos esta publicación para abordar el requisito sencillo de un elemento raíz para completar la salida de la función `Concat()` que describimos anteriormente. Cuando los proyectos del mundo real requieren la conversión de bases de datos relacionales a XML, es probable que los requisitos sean mucho más complejos. 

Altova [XMLSpy](https://www.altova.com/es/xmlspy.html) se conecta directamente a todas las bases de datos populares para trabajar con tecnologías XML y datos relacionales. XMLSpy le permite crear fácilmente un esquema XML a partir de la estructura de una base de datos, o crear un esquema de base de datos a partir de un esquema XML. XMLSpy también incluye editores y depuradores avanzados para XQuery y XPath para datos XML almacenados directamente en bases de datos, junto con soporte especializado para funciones XML en las bases de datos Microsoft SQL Server, IBM DB2 y Oracle. A medida que más industrias adoptan y desarrollan estándares basados en XML para el intercambio de información, una necesidad común es convertir los datos almacenados en bases de datos antiguas a formato XML. Altova [MapForce](https://www.altova.com/es/mapforce.html) se conecta a las bases de datos y le permite mapear y transformar datos relacionales para que sean compatibles con uno o varios esquemas XML.

Puede utilizar su configuración para realizar una conversión de datos única, puede guardar y volver a abrir su configuración para realizar otra conversión más adelante, o puede indicar a MapForce que genere código fuente sin derechos de autor a partir de su configuración, para incluirlo en su propio proyecto cuando se requieran conversiones repetidas. 

Si desea comprobar por sí mismo cómo las herramientas de Altova pueden generar archivos XML bien formateados a partir de bases de datos relacionales, [descargue una versión de prueba gratuita](https://www.altova.com/es/download/missionkit/software_development_tools_enterprise.html) del [Altova MissionKit](https://www.altova.com/es/missionkit/software-development-tools.html).
