Here is (maybe) a better example:
/**
* Helper function for replacing $node (DOMNode)
* with an XML code (string)
*
* @var DOMNode $node
* @var string $xml
*/
public function replaceNodeXML(&$node,$xml) {
$f = $this->dom->createDocumentFragment();
$f->appendXML($xml);
$node->parentNode->replaceChild($f,$node);
}
Copied from the "PHP5 Dom Based Template" article at:
http://blog.axisvista.com/?p=35
DOMDocumentFragment::appendXML
(PHP 5 >= 5.1.0)
DOMDocumentFragment::appendXML — Ajoute des données XML
Description
bool DOMDocumentFragment::appendXML
( string $data
)
Ajoute des données XML brutes à un DOMDocumentFragment.
Cette méthode ne fait pas partie du standard DOM. Elle a été créée pour simplifier l'ajout d'un fragment XML dans un DOMDocument.
Si vous voulez respecter les standards, vous devez créer un DOMDocument temporaire avec une racine et parcourir les noeuds enfants de vos données XML pour les ajouter.
Liste de paramètres
- data
-
XML à ajouter.
Valeurs de retour
Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.
Exemples
Exemple #1 Ajout de données XML à votre document
<?php
$doc = new DOMDocument();
$doc->loadXML("<root/>");
$f = $doc->createDocumentFragment();
$f->appendXML("<foo>text</foo><bar>text2</bar>");
$doc->documentElement->appendChild($f);
echo $doc->saveXML();
?>
L'exemple ci-dessus va afficher :
<?xml version="1.0"?> <root><foo>text</foo><bar>text2</bar></root>
DOMDocumentFragment::appendXML
lpetrov(AT)axisvista.com
21-Jul-2007 02:45
21-Jul-2007 02:45
