Exporter une table mysql vers un fichier xml avec domxml

Contenu du snippet

Suite à ma source précédente (http://www.phpcs.com/code.aspx?ID=19763), voici maintenant comment exporter une table MySQL vers un fichier XML en utilisant l'extension DomXml de PHP.

Les fonctions utilisés sont :

- domxml_new_doc() : création d'un nouveau document (vide)
- create_element() : création d'un nouveau noeud
- append_child() : création d'un noeud 'fils'
- create_text_node() : insère du contenu dans un noeud
- dumpfile() : création du fichier xml

Source / Exemple :


- carnet.sql :

CREATE TABLE personne (
	nom varchar(255),
	prenom varchar(255),
	age int(2)
)

- carnetMysqlToXmlWithDomXml.php : 
<?php
/*

  • Penser à ouvrir une connexion vers la base mysql
  • Ecrire une requête ($q) pour récupérer les données de la table
  • /
if ($q) { $doc = domxml_new_doc('1.0'); $node = $doc->create_element('carnet'); $carnet = $doc->append_child($node); while ($row = mysql_fetch_array($q)) { $node = $doc->create_element('personne'); $personne = $carnet->append_child($node); $node = $doc->create_element('nom'); $tmpNode = $personne->append_child($node); $value = $doc->create_text_node($row['nom']); $tmpNode->append_child($value); $node = $doc->create_element('prenom'); $tmpNode = $personne->append_child($node); $value = $doc->create_text_node($row['prenom']); $tmpNode->append_child($value); $node = $doc->create_element('age'); $tmpNode = $personne->append_child($node); $value = $doc->create_text_node($row['age']); $tmpNode->append_child($value); } $doc->dump_file('carnetMysqlToXmlWithDom.xml'); echo 'Export XML effectue !<br><a href="carnetMysqlToXmlWithDom.xml">Voir le fichier</a>'; }

Conclusion :


Bon courage ;-)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.