Problematique: Comment Creer un fichier XML dynamiquement en utilisant le langage PHP.

Dans ce screencast je vous présente comment générer un fichier XML simple avec la classe PHP DomDocument.

http://blip.tv/file/get/Formatix-XMLGenerationXmlDomdocumentfr495.flv

Le Code Source:

<?php

/*********************************************************************************
 *  Description: Creation D'un Fichier XML en utilisant la Class Php  DomDocumnent
 *
 *  Auteur: Christophe Fiat (Oui comme les voitures)
 *  Site: http://www.formatix.eu
 *
 *********************************************************************************/  

// Instance de la class DomDocument
$doc = new DOMDocument();

// Definition de la version et l'encodage
$doc->version = '1.0';
$doc->encoding = 'ISO-8859-1';

// Ajout d'un commentaire a la racine
$comment_elt = $doc->createComment('Created By FormatiX.Eu');
$doc->appendChild($comment_elt);

// Ajout la balise 'note' a la racine
$note_elt = $doc->createElement('note');
$doc->appendChild($note_elt);

// Creation des elements 'to' 'from' 'heading' 'body'
$to_elt      = $doc->createElement('to', 'Nicolas');
$from_elt    = $doc->createElement('from', 'Carla');
$heading_elt = $doc->createElement('heading', 'Rappel');

// Pas de contenu pour l'instant pour cet element car on desir y mettre une balise CDATA
$body_elt = $doc->createElement('body');

// Specifier que les elements to/from/heading/body sont dans 'note'
$note_elt->appendChild($to_elt);
$note_elt->appendChild($from_elt);
$note_elt->appendChild($heading_elt);
$note_elt->appendChild($body_elt);

// Creation d'une section CDATA
$body_cdata_elt = $doc->createCDATASection('N'oublie pas tes talonnettes');

// Placement de cette section entre les balises <body> et </body>
$body_elt->appendChild($body_cdata_elt);

// Rendre Joli ;)
$doc->formatOutput = true;

// Afficher le document XML
echo $doc->saveXML();

// Sauver le document XML sous le nom simple.xml
$doc->save('simple.xml');

// Yeah on a fini!   

?>



Le Fichier simple.xml généré:

<?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?>
<!--Created By FormatiX.Eu-->
<note>
  <to>Nicolas</to>
  <from>Carla</from>
  <heading>Rappel</heading>
  <body><![CDATA[N'oublie pas tes talonnettes]]></body>
</note>



Téléchargement:


> Télécharger < le script php et le fichier XML de resultat