Tecnología

Inicio

Cómo convertir XML a una base de datos SQL en Ubuntu

Ubuntu proporciona dos servidores de bases de datos SQL para los usuarios: MySQL y PostgreSQL. Ambos están disponibles en el repositorio de software de Ubuntu para la instalación y la configuración automática, pero sólo MySQL soporta la conversión de documentos XML directamente en bases de datos SQL utilizando el comando "Cargar XML".

Instrucciones

1 Abre un terminal haciendo clic en el icono de la terminal en la barra de menús.

2 Escribe lo siguiente para abrir el cliente de MySQL:

MySQL

3 Escriba lo siguiente para cargar los datos XML en una tabla existente en la base de datos, y pulsa "Enter":

CARGA XML LOCAL INFILE 'database.xml'

EN TABLA mitabla

FILAS IDENTIFICADAS POR '<DataRow>';

Vamos a través de este bit a bit de comando.

"LOAD LOCAL INFILE XML 'database.xml'" carga el archivo XML denominado "database.xml" en MySQL. Naturalmente, usted debe cambiar esto para el verdadero nombre de su archivo.

A continuación, "en la tabla mitabla" especifica que los datos deben ser colocados en la tabla existente "mitabla." Naturalmente, usted debe cambiar el nombre de la tabla para el nombre de una tabla real en su base de datos. XML carga no puede crear nuevas tablas en su totalidad por sí mismo. Una tabla debe existir con la estructura correcta para contener los datos en el archivo XML.

Por último, "FILAS IDENTIFICADO POR <DataRow> ';" le dice a MySQL qué etiqueta en el archivo XML debe ser asociado con las filas de la tabla. Reemplazar "DataRow" con el nombre de esa etiqueta en soportes de flecha. Por ejemplo, considere el código dado por la documentación de MySQL para el comando LOAD XML:

<? Xml version = "1.0"?>

<Lista>

<Persona person_id = "1" fname = lname "Pekka" = "Nousiainen" />

<Persona person_id = "2" fname = lname "Jonas" = "Oreland" />

<Persona person_id = "3"> <fname> Mikael </ fnombre> <lname> Ronstrom </ lname> </ persona>

<Persona person_id = "4"> <fname> Lars </ fnombre> <lname> Thalmann </ lname> </ persona>

<Persona> <nombre de campo = "person_id"> 5 </ field> <field name = "fname"> Tomas </ field> <field name = "lname"> Ulin </ field> </ persona>

<Persona> <nombre de campo = "person_id"> 6 </ field> <field name = "fname"> Martin </ field> <field name = "lname"> Sköld </ field> </ persona>

</ List>

En este documento XML, las filas IDENTIFICADAS POR comandos deben utilizar "<persona>" como su argumento, ya que esta es la etiqueta de identificación de los datos que tienen que ser importados.

Consejos y advertencias

  • Este comando se utiliza mejor para importar datos que ya han sido exportados de MySQL con el comando "--xml":
  • mysql --xml -e 'SELECT * FROM mitabla'> file.xml