copier un noeud avec tous ses fils XML php5
Posté : 11 sept. 2008, 17:06
Salut,
J'ai un petit souci avec la fonction cloneNode(). J'aimerais qu'elle me copie un noeud avec tous ses fils, mais impossible, alors même que je lui donne l'attribut TRUE.
Mon code PHP :
Quand je lance mon script, ça me donne :
Alors que je voudrais :
J'ai un petit souci avec la fonction cloneNode(). J'aimerais qu'elle me copie un noeud avec tous ses fils, mais impossible, alors même que je lui donne l'attribut TRUE.
Mon code PHP :
$dom = new DomDocument;
$dom->load("test.xml");
$listePays = $dom->getElementsByTagName('pays');
foreach($listePays as $pays)
$nouveauPays = $dom->createElement("pays");
$paysIdentique = $pays->cloneNode(TRUE);
$europe = $dom->getElementsByTagName("europe")->item(0);
$europe->appendChild($nouveauPays);
$dom->save('test.xml');
Et mon code XML :Code : Tout sélectionner
<?xml version="1.0" encoding="ISO-8859-1"?>
<continents>
<europe>
<pays>
<monnaie/>
<dictateur/>
</pays>
</europe>
<asie>
</asie>
</continents>Quand je lance mon script, ça me donne :
Code : Tout sélectionner
<?xml version="1.0" encoding="ISO-8859-1"?>
<continents>
<europe>
<pays>
<monnaie/>
<dictateur/>
</pays>
<pays/></europe>
<asie>
</asie>
</continents>Code : Tout sélectionner
<?xml version="1.0" encoding="ISO-8859-1"?>
<continents>
<europe>
<pays>
<monnaie/>
<dictateur/>
</pays>
<pays>
<monnaie/>
<dictateur/>
</pays>
</europe>
<asie>
</asie>
</continents>