Creare XML da MySQL è facile come PI
MySQL è una scelta popolare tra i database, in particolare per i dati Webcentric. Ora c’è un altro motivo per amare questo database—rende l’integrazione dei dati in un documento XML facile come torta. Sfortunatamente, l’importazione di XML in MySQL è più simile alla cheesecake al cioccolato, ma ci sono soluzioni disponibili. Basta seguire questa guida e sarete sulla buona strada per integrare i servizi Web con il database in pochissimo tempo.
Partendo da zero
Con la crescente popolarità di XML, gli sviluppatori hanno trovato un metodo semplice per presentare i set di dati in modo standardizzato. Che altro ti sembra? Un database! E ‘ naturale che dovrebbe essere semplice per convertire le informazioni senza un sacco di confusione—e si può.
Alcuni produttori di database proprietari, come Microsoft e IBM, hanno adottato misure per integrare XML nei loro sistemi. Ciò non sorprende poiché queste due società sono entrambe pesantemente coinvolte nel progetto di standardizzazione XML.
Non volendo essere lasciato indietro, i creatori di database MySQL incorporarono un mezzo per generare un file di dati XML. È supportato nella versione 3.23.48 e successive. È possibile utilizzare la riga di comando o facilitare il processo con il linguaggio di programmazione di vostra scelta.
Per iniziare, puoi scaricare MySQL database gratuitamente da MySQL.com. La versione corrente è sufficiente per supportare questa funzionalità e non è necessario compilarla con alcun parametro speciale.
Riempimento di frutta
Una volta installato, creato e popolato il database, eseguire il seguente comando per generare un file XML:
mysqldumpename xml databasename
Se si desidera salvare questo in un file, è sufficiente utilizzare il metodo standard *NIX per l’output in un file:
mysqldump.xml databasename > nome file.xml
Questo produce un documento XML ben formato. Poiché XML è datacentric, se si esegue il dump dell’intero database e non contiene informazioni, il file risulterà in una serie di tag vuoti in base ai nomi delle tabelle. Il tuo output dovrebbe essere simile a questo:
<?versione xml=”1.0″?>
<table1>
<field1>data1</field1>
<field2>data1</field2>
<field3>data1</field3>
<field1>data2</field1>
<field2>data2</field2>
<field3>data2</field3>
</table1>
<table2></table2>
Ora siete liberi di utilizzare questo file di dati con qualsiasi applicazione si voglia. Questo metodo è utile in diversi modi. Non solo creerà una rappresentazione standardizzata dei tuoi dati, ma può anche scattare un’istantanea del tuo database (o parte del tuo database) per la visualizzazione. Invece di effettuare chiamate ripetute al server di database, basta generare un documento XML quando il database cambia e fare riferimento a quello dalle pagine Web o da qualsiasi altra cosa tu stia usando. Ciò può localizzare le chiamate per i dati, ridurre il sovraccarico delle chiamate frequenti a un database e presentare facilmente un sottoinsieme delle informazioni per migliorare le prestazioni, la sicurezza o la localizzazione.
Gelato sul lato
È davvero facile ottenere XML da MySQL, ma che ne dici dell’altra direzione? E ‘un po’ piu ‘ complicato. MySQL stesso non supporta questa funzione e con una buona ragione. Il database attualmente non ha modo di convalidare il file XML. Ciò potrebbe comportare una serie di scenari, che vanno da un carico parziale a ignorare tag e istruzioni malformati a forzare semplicemente l’intero carico a fallire. MySQL supporta solo back-out a cascata nelle versioni di sviluppo correnti. Anche se non è abbastanza da un punto di vista nativo, hai alcune opzioni.
Una soluzione è DBIx di Perl::Modulo XML_RDB. È possibile utilizzare questo metodo per importare ed esportare XML, anche se comprensibilmente l’importazione dipende fortemente da un file XML correttamente strutturato. Per ottenere i dati, il modulo esegue essenzialmente una query e formatta i risultati in un file XML. Al contrario, è possibile utilizzare il modulo per leggere un file XML, creare una query SQL ed eseguirlo. C’è anche un’opzione più semplice. Il modulo DBIx::XML_RDB viene fornito con due script di utilità per facilitare il processo: xml2sql.pl e sql2xml.pl. Ho trovato un ottimo tutorial sull’utilizzo di questo modulo Perl da O’Reilly XML.com Sito web. Ti guiderà attraverso il processo.
Un altro sforzo più generalizzato proviene dal progetto XML-DBMS di Ron Bourret. Si tratta di uno sforzo continuo per supportare le importazioni e le esportazioni XML con database relazionali utilizzando Perl e Java. C’è anche un lavoro molto interessante che supporta la mappatura di un database a un altro utilizzando XML come middleware facilitante. Questo è un progetto open source orientato alla comunità gestito su SourceForge.
Altri linguaggi, in particolare i linguaggi di scripting Web, non hanno ignorato la necessità di importare XML nei database SQL. Ci sono sforzi simili per Python, come i moduli xml2sql e dtd2sql, delineati in dettaglio in questo articolo da IBM, e un paio di progetti in lavorazione per PHP, come il progetto “XML MySQL class”.
Delizioso
Con queste utility, importare ed esportare XML da e verso MySQL è facile! Poiché MySQL è popolare e gratuito, è stato il banco di prova per l’integrazione di molti linguaggi di scripting in XML, e di conseguenza ci sono una serie di tutorial e script specifici per questo database. Con la potenza di un database relazionale e la capacità di creare facilmente file XML, MySQL può essere parte integrante della soluzione di servizi Web.
Vuoi una fetta?
Quali sono le tue esperienze con database XML e relazionali? Partecipa alla discussione qui sotto o inviaci una e-mail con i tuoi pensieri.