TUTORIEL PHP 
PHP5 : SimpleXML
SimpleXML est une des deux nouvelles extensions de PHP 5 consacrées à XML, et présente une approche du traitement des fichiers XML mettant en avant la simplicité d'utilisation. (22/09/2004)
<< 1. Modifications de fichiers XML
2. Interopérabilité avec l'extension DOM
3. Codage des caractères
4. Les itérateurs SimpleXML : présentation, Iterator
5. Les itérateurs SimpleXML : RecursiveIterator. Conclusion

  Forum

Réagissez dans les forums de JDN Développeurs

Interopérabilité avec l'extension DOM
PHP possède un mécanisme pour convertir les noeuds XML entre les extensions SimpleXML et DOM. Voici un exemple pour transformer un élément DOM en élément SimpleXML.

<?php
$dom = new domDocument();
$dom->loadXML('<books><book><title>blah</title></book></books>');
if (!$dom) {
  echo 'Erreur de traitement XML';
  exit;
  }

$s = simplexml_import_dom($dom);

echo $s->book[0]->title;
?>


L'ajout et la suppression de balises est possible avec DOM, et vous permettra de contourner cette limitation de SimpleXML. Voici un exemple d'ajout de balise à un fichier XML :

<?php
$dom = new domDocument();
$dom->loadXML('<books><book><title>blah </title></book></books>');
if (!$dom) {
  echo 'Erreur de traitement XML';
  exit;
  }

$liste = $dom->getElementsByTagName('books');
$noeud = $liste->item(0);
$title = $dom->createElement("titre","boo");
$node = $dom->createElement("book");
$node->appendchild($title);

$noeud->appendChild($node);

$s = simplexml_import_dom($dom);

echo $s->asxml();
?>


Notez bien que vous pouvez aussi passer de SimpleXML vers DOM, avec une fonction similaire :

<?php
$s = simplexml_load_string( '<books><book><title>blah</title></book></books>');
if(!$s) {
  echo "Erreur de traitement du document XML \n";
  exit;
  }
$dom = dom_import_simplexml($s);
print $dom->ownerDocument->saveXML();
?>

<< 1. Modifications de fichiers XML
2. Interopérabilité avec l'extension DOM
3. Codage des caractères
4. Les itérateurs SimpleXML : présentation, Iterator
5. Les itérateurs SimpleXML : RecursiveIterator. Conclusion
 
Rédaction JDN Développeurs
 
Accueil | Haut de page
 
 





Quand achetez-vous le plus en ligne ?
Du lundi au vendredi
Le samedi
Le dimanche

Tous les sondages