Come convertire XML in un database SQL in Ubuntu

May 10

Ubuntu fornisce due server di database SQL per gli utenti: MySQL e PostgreSQL. Entrambi sono disponibili nel repository software di Ubuntu per l'installazione e la configurazione automatica, ma solo MySQL supporta la conversione dei documenti XML direttamente nel database SQL utilizzando il comando "Load XML".

istruzione

1 Aprire un terminale facendo clic sull'icona del terminale sulla barra dei menu.

2 Digitare quanto segue per aprire il client MySQL:

mysql

3 Digitare il seguente per caricare i dati XML in una tabella esistente nel database, e premere "Invio":

LOAD XML locale INFILE 'database.xml'

INTO TABLE mytable

FILE identificato da '<DataRow>';

Andiamo attraverso questo bit di comando a poco.

"LOAD XML locale INFILE 'database.xml'" carica il file XML denominato "database.xml" in MySQL. Naturalmente, è necessario modificare questo il vero nome del file.

Quindi, "in tabella MyTable" specifica che i dati devono essere messi in tabella esistente "MyTable". Naturalmente, si dovrebbe cambiare il nome della tabella per il nome di un tavolo vero e proprio nel database. LOAD XML non può creare nuovi tavoli da sola. Un tavolo deve essere già presente con la struttura corretta per contenere i dati nel file XML.

Infine, "FILE IDENTIFICATO DA <DataRow> ';" dice a MySQL cosa tag nel file XML dovrebbe essere associato con le righe della tabella. Sostituire "DataRow" con il nome di quel tag tra parentesi freccia. Ad esempio, si consideri questo codice data dalla documentazione MySQL per il comando LOAD XML:

<? Xml version = "1.0"?>

<List>

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

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

<Persona person_id = "3"> <fname> Mikael </ fname> <lname> Ronström </ lname> </ persona>

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

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

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

</ List>

In questo documento XML, le righe identificate da comando dovrebbe usare "<persona>" come argomento, dal momento che questo è il tag che identifica i dati che devono essere importati.

Consigli e avvertenze

  • Questo comando è meglio utilizzato per importare i dati che è già stato esportato da MySQL utilizzando il comando "--xml":
  • mysql --xml -e 'SELECT * FROM tabella'> file.xml