Immer wieder findet man in Foren und verschiedenen Websites kleine Scripts, die eine MySQL-Tabelle in XML konvertieren. Bereits seit frühen 4er Versionen bietet MySQL dafür die Option –xml/ -X an, welche Ergebnisse der übergebenen Select-Anweisungen in standardkonforme XML-Dateien verwandelt, welche für viele Bedürfnisse ausreichen dürften.
Ein Beispiel:
mysql --xml -e "select alias, display_name, address from nagios.nagios_hosts limit 1,2"
gibt folgendes Ergebnis:
<?xml version="1.0"?> <resultset statement="select alias, display_name, address from nagios.nagios_hosts limit 1,2 " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <row> <field name="alias">Business Processe</field> <field name="display_name">business_processes</field> <field name="address">10.6.255.99 # dummy IP</field> </row> <row> <field name="alias">untergeordnete Business Processe</field> <field name="display_name">business_processes_detail</field> <field name="address">10.6.255.99 # dummy IP</field> </row> </resultset>
Auch mysqldump unterstützt die Ausgabe in XML, exportiert die Informationen jedoch aufgabengemäß in zusätzlichen Elementen mit Datenbank- und Tabelleninformationen.
Ein Beispiel:
mysqldump nagios nagios_dbversion --xml
gibt folgendes Ergebnis:
<?xml version="1.0"?> <mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <database name="nagios"> <table_structure name="nagios_dbversion"> <field Field="name" Type="varchar(10)" Null="NO" Key="" Default="" Extra="" /> <field Field="version" Type="varchar(10)" Null="NO" Key="" Default="" Extra="" /> <options Name="nagios_dbversion" Engine="InnoDB" Version="10" Row_format="Compact" Rows="1" Avg_row_length="16384" Data_length="16384" Max_data_length="0" Index_length="0" Data_free="0" Create_time="2009-09-11 12:04:09" Collation="latin1_swedish_ci" Create_options="" Comment="InnoDB free: 11264 kB" /> </table_structure> <table_data name="nagios_dbversion"> <row> <field name="name">ndoutils</field> <field name="version">1.4b7</field> </row> </table_data> </database> </mysqldump>