pixel
Seite wählen

MySQL Daten nach XML exportieren

von | Nov 24, 2009 | Development, MySQL

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>
Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startete er früher das wöchentliche Lexware-Backup, welches er nun endlich automatisiert hat. So investiert er seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und...
Mehr Beiträge zum Thema Development | MySQL

DockerCon 2022: Wie geht Containersecurity?

Buzzwords wie Software Supply Chain, Container Security Scanning oder Software Bill of Materials (SBOM) sind in den vergangenen zwei Jahren vermehrt in aller Munde, nicht zuletzt aufgrund des anhaltenden Trends zur Containerisierung vormals monolithischer Anwendungen...

Python – Generator

Wer schon einmal eine etwas größere Datei, bspw. 1Gb, mit dem Editor VIM geöffnet hat, der weis, wie lange dies dauern kann. Das kommt daher, dass diese Datei zunächst komplett in den Arbeitsspeicher geladen werden muss. So ähnlich verhält es sich, wenn in Python eine...

Ansible – How to create reusable tasks

Ansible is known for its simplicity, lightweight footprint and flexibility to configure nearly any device in your infrastructure. Therefore it's used in large scale environments shared between teams or departments. Often tasks could be used in multiple playbooks to...

Der NETWAYS Support Collector

Dem ein oder anderen unserer Support Kunden ist unser neuer Support Collector vielleicht schon über den Weg gelaufen. Aber was ist das überhaupt? Und was bringt er? Der NETWAYS Support Collector ist eines unserer neuesten Kreationen. Inspiriert von, dem mehr...