Creare XML da MySQL
MySQL incorpora delle opzioni per eseguire delle query e rappresentare in formato XML i risultati estrapolati.
Ovviamente se deve essere fatto su un sito web è meglio farlo usando un linguaggio lato server (PHP, Asp.NET, ecc).
Però questo può comunque risultare utile.
La sintassi generale è questa:
$ mysql -u utente --xml -e 'SELECT* FROM db.table' -p
In pratica è il classico comando di login al quale però aggiungiamo due flag (--xml e -e) e la query specificando però anche il db della tabella da interrogare.
Eccovi un esempio concreto:
$ mysql -u root --xml -e 'SELECT * FROM library.bookv' -p
Enter password:
<?xml version="1.0"?>
<resultset statement="select * from library.bookv
" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<row>
<field name="book_id">10</field>
<field name="title">siddharta</field>
<field name="author_name">herman hesse</field>
<field name="editor_name">adelphi</field>
<field name="price">7.5</field>
<field name="isbn">88-459-0184-x</field>
<field name="note"></field>
</row>
<row>
<field name="book_id">1</field>
<field name="title">hacker 6.0</field>
<field name="author_name">mcclure,scambray,kurtz</field>
<field name="editor_name">apogeo</field>
<field name="price">0</field>
<field name="isbn" xsi:nil="true" />
<field name="note" xsi:nil="true" />
</row>
<row>
<field name="book_id">6</field>
<field name="title">sviluppare applicazioni web 2.0 con php</field>
<field name="author_name">quentin zervaas</field>
<field name="editor_name">apogeo</field>
<field name="price">42</field>
<field name="isbn">978-88-503-2772-0</field>
<field name="note"></field>
</row>
<row>
<field name="book_id">7</field>
<field name="title">c++ fondamenti di programmazione</field>
<field name="author_name">deitel</field>
<field name="editor_name">apogeo</field>
<field name="price">45</field>
<field name="isbn">88-503-2386-7</field>
<field name="note"></field>
</row>
<row>
<field name="book_id">2</field>
<field name="title">odissea</field>
<field name="author_name">clive cussler</field>
<field name="editor_name">longanesi</field>
<field name="price">0</field>
<field name="isbn"></field>
<field name="note"></field>
</row>
.......
</resultset>
Se vogliamo salvare l'output su un file abbiamo due possibillità.