Pb avec DOMNode::appendChild

Invité
Invité n'ayant pas de compte PHPfrance

16 mai 2006, 00:45

Bonsoir tout le monde,

J'ai un petit soucis avec ce bout de code :

Code : Tout sélectionner

$aa = new DOMNode('root', ''); $item = new DOMNode('myitem', 'blabla'); $aa->appendChild($item);
Ca me donne l'erreur suivante :

Code : Tout sélectionner

Warning: DOMNode::appendChild() [function.DOMNode-appendChild]: Couldn't fetch DOMNode in test.php on line 7
Pourtant, le prototype de la fonction appendchild est donné comme ceci :

Code : Tout sélectionner

class DOMNode { DOMNode appendChild ( DOMNode newnode ) }
Quelqu'un peut il m'éclairer?

Invité
Invité n'ayant pas de compte PHPfrance

16 mai 2006, 22:36

Eh ben, ya pas foule sur mon topic ;) Bon comme je suis super fort j'ai trouvé tout seul
Voila la feinte :

Code : Tout sélectionner

1 $dom = new DomDocument; 2 $frag = $dom->createDocumentFragment(); 3 $fragment= $dom->createElement( 'fragment' ); 4 $frag->appendChild( $fragment); 5 6 $dom2 = new DomDocument; 7 $domNode = $dom2->importNode($frag, true); 8 $dom2->appendChild( $domNode ); 9 10 print_r($dom2->saveXML());
En gros on imagine que dans une fonction on crée un document XML ($dom) et on veut intégrer les noeuds de ce document dans notre document principal ($dom2).

il suffit alors de retourner $frag et hop on le balance dans notre XML principal (tjs $dom2) et ca marche !
Cela peut etre utilisé si on a une fonction ou une méthode qui effectue des requetes SQL et les tranformes en XML. On retourne le fragment et on integre les resultats de la requete dans le XML général de la page. (Je peux donner le code d'une telle fonction si certains sont intéressés)

Voila ;)

Gn2