Convertidor online gratuito de XML a SQLITE
Convierta datos XML estructurados en una base de datos SQLite consultable con esquema y comprobaciones de validación.
Convertir XML a SQLITE online - gratis
Tu archivo se procesa al instante y se elimina en cuanto lo descargas.
Importar un archivo desde una URL
Pega un enlace directo al archivo. Lo descargamos a nuestro servidor y se convierte igual que un archivo subido.
Cómo funciona
-
1/3
Sube tu archivo .xml
Haz clic para seleccionar el archivo que quieres convertir o simplemente arrástralo y suéltalo en el área indicada.
-
2/3
Realiza la conversión de .xml a .sqlite
Una vez subido el archivo correctamente, haz clic en convertir cuando estés listo.
-
3/3
Descarga el archivo .sqlite convertido
El resultado de la conversión está listo para descargar.
Cómo convertir un archivo xml a sqlite
- Bases de datos
- Aún sin calificaciones.
Una aplicación, herramienta de informes o archivo puede requerir una base de datos local consultable en lugar de un documento XML jerárquico. Convertir los datos a SQLite los hace disponibles para las herramientas SQL y puede evitar volver a analizar el XML en cada consulta.
La conversión asigna los datos a un esquema nuevo; no se limita a cambiar la extensión del nombre de archivo.
Qué es el formato XML
XML (Extensible Markup Language) es un formato de texto para datos estructurados. Representa la información mediante elementos anidados, atributos, texto, espacios de nombres, comentarios y metadatos. Las herramientas de exportación de bases de datos, las aplicaciones empresariales, los sistemas de gestión de contenidos, las utilidades de configuración y los servicios de intercambio de datos suelen crear archivos XML.
XML no define un esquema de base de datos universal. Un documento puede contener elementos repetidos que representan registros, entidades anidadas como pedidos y líneas de pedido, o contenido mixto que no tiene un equivalente relacional directo. La conversión debe asignar esas estructuras a tablas, columnas y relaciones de SQLite.
Qué es el formato SQLITE
SQLite es un motor de bases de datos relacionales integrado cuyas tablas, índices, vistas y esquema se almacenan en un solo archivo. Los archivos de bases de datos SQLite suelen utilizar la extensión .sqlite, .sqlite3 o .db; la extensión por sí sola no determina el formato.
SQLite no requiere un servidor de bases de datos y es compatible con su utilidad de línea de comandos, gestores de bases de datos de escritorio, aplicaciones móviles y lenguajes de programación. Proporciona consultas SQL, transacciones, índices, restricciones y afinidades de tipo declaradas como INTEGER, REAL, TEXT, BLOB y NULL. Es adecuado para aplicaciones locales, conjuntos de datos sin conexión, datos portátiles y archivos compactos, pero no conserva automáticamente la jerarquía XML.
Convertir con una herramienta en línea o de escritorio
Para un archivo XML sencillo, utilice el conversor de 101convert.com: seleccione el archivo XML como entrada, seleccione SQLite como salida, inicie la conversión y guarde la base de datos generada. No es necesario instalar software. Inspeccione las tablas y columnas resultantes, ya que un conversor automático debe inferir del XML los límites de los registros, los nombres, los tipos y las relaciones.
No cargue XML confidencial, regulado o sujeto a otras restricciones, a menos que la política aplicable de gestión de datos lo permita. Para datos confidenciales o un esquema que deba seguir siendo predecible, realice la conversión localmente con un script o una herramienta de bases de datos.
Convertir con Python para obtener un esquema controlado
Python incluye un controlador de SQLite y un analizador XML, por lo que puede crear una base de datos sin un servidor independiente. Este ejemplo espera elementos record repetidos que contengan elementos secundarios name y value:
import sys
import sqlite3
import xml.etree.ElementTree as ET
xml_file = sys.argv[1]
db_file = sys.argv[2]
root = ET.parse(xml_file).getroot()
with sqlite3.connect(db_file) as db:
db.execute('CREATE TABLE IF NOT EXISTS records (id INTEGER PRIMARY KEY, name TEXT, value TEXT)')
rows = []
for record in root.findall('.//record'):
rows.append((record.findtext('name'), record.findtext('value')))
db.executemany('INSERT INTO records (name, value) VALUES (?, ?)', rows)
Guarde el archivo como convert.py y ejecute python convert.py input.xml output.sqlite. Cambie las rutas de los elementos y la instrucción CREATE TABLE para que coincidan con el origen. Los marcadores de parámetros como ? evitan que los valores XML se interpreten como sintaxis SQL.
Para datos anidados, utilice tablas relacionadas en lugar de colocar todos los valores en una tabla ancha. Por ejemplo, cree orders y order_items, y después almacene la clave principal en order_items.order_id. Convierta los números reales a INTEGER o REAL, pero conserve los identificadores como TEXT cuando sean importantes los ceros iniciales o el formato exacto. Decodifique el contenido Base64 antes de almacenarlo como BLOB.
Los espacios de nombres XML requieren búsquedas compatibles con espacios de nombres. Una ruta como .//record no encontrará un elemento cuyo nombre expandido incluya un espacio de nombres, a menos que la consulta del analizador tenga en cuenta dicho espacio de nombres. Los archivos XML grandes pueden requerir un análisis incremental con iterparse en lugar de cargar todo el árbol en la memoria.
Comprobar la base de datos generada
Abra la salida con el programa de línea de comandos de SQLite:
sqlite3 output.sqlite.tables
.schema records
SELECT COUNT(*) FROM records;
SELECT * FROM records LIMIT 10;Un gestor gráfico de SQLite también puede abrir output.sqlite; utilice su comando para abrir bases de datos, que normalmente aparece como File → Open database, y después inspeccione las tablas, los tipos de columnas, las claves y los valores.
Límites de calidad y compatibilidad
La conversión automática puede descartar comentarios, instrucciones de procesamiento, orden de los elementos, detalles de los espacios de nombres, texto mixto, atributos y la distinción entre un elemento ausente y un elemento vacío. Conserve el XML original cuando esos detalles sean importantes o asígnelos explícitamente a columnas y tablas secundarias.
Valide los recuentos de filas, los campos obligatorios, los identificadores duplicados, las fechas, los separadores decimales, la codificación de caracteres, el tratamiento de valores nulos y las relaciones antes de eliminar el origen. Utilice una transacción para que un error de análisis o inserción no deje una base de datos parcialmente poblada. Para XML no confiable, utilice un analizador configurado para un procesamiento XML seguro y rechace entradas inesperadamente grandes o malformadas.
SQLite permite valores cuyos tipos en tiempo de ejecución difieren de la afinidad declarada de una columna. Añada definiciones NOT NULL, UNIQUE, de claves foráneas y de índices cuando las reglas del origen lo requieran; habilite la aplicación de claves foráneas con PRAGMA foreign_keys = ON. Pruebe la salida con la aplicación de destino, ya que puede requerir nombres específicos de tablas, nombres de columnas, relaciones, extensiones de nombres de archivo o una versión de SQLite compatible.
XML vs SQLITE: comparación de formatos
Cómo se comparan los formatos XML y SQLITE en las propiedades que más importan para esta conversión.
| Propiedad | .XML Extensible Markup Language | .SQLITE SQLite database |
|---|---|---|
| Legible como texto plano | Sí | No |
| Tipos de datos | Tipado | Tipado |
| Estructuras anidadas | Sí | Sí |
| Fórmulas | No | No |
| Varias tablas o hojas | — | Sí |
| Tamaño de archivo típico | Pequeño | Pequeño |
| Estándar abierto | Sí | Sí |
| Más adecuado para | Intercambio de datos | Intercambio de datos |
| Introducido | 1998 | 2000 |
| Desarrollador | W3C | D. Richard Hipp / SQLite Consortium |
| Tipo MIME | application/xml | application/vnd.sqlite3 |
Software sugerido para convertir xml a sqlite
Preguntas frecuentes
¿Es gratuito el convertidor de XML a SQLITE?
Sí, convertir XML a SQLITE en 101convert.com es totalmente gratuito. No se requiere registro, correo electrónico ni instalación. Si necesitas un límite de tamaño de archivo mayor o quieres convertir más archivos a la vez, consulta nuestros planes.
¿Qué tamaño puede tener mi archivo XML?
Puedes subir archivos XML de hasta 50 MB y convertir hasta 20 archivos a la vez en un solo lote.
¿Qué ocurre con mis archivos subidos?
Los archivos se procesan automáticamente y se eliminan de nuestros servidores pocos minutos después de la conversión. Nunca vemos ni compartimos tus archivos.
¿Necesito instalar algún programa para convertir XML a SQLITE?
No. La conversión de XML a SQLITE se realiza completamente online en tu navegador y funciona en Windows, Mac, Linux, Android y iPhone.
¿Ha fallado la conversión?
En la mayoría de los casos, la causa es un formato de archivo incorrecto. Sube un archivo XML válido para esta conversión de XML a SQLITE. En ocasiones, el problema también puede estar de nuestro lado. Analizamos los fallos de conversión recurrentes y desactivamos o reparamos el convertidor si detectamos algún defecto.