domit supprimer noeuds

Invité
Invité n'ayant pas de compte PHPfrance

16 mai 2008, 02:38

Bonjour à tous,
je suis entrain d'utiliser domit pour modifier le document xml que voici:
<album>
<image>1.jpg</image>
<image>2.jpg</image>
<image>3.jpg</image>
</album>
Pour supprimer tous les enfants de album je fais ceci mais ça ne marche pas (pas d'erreur, pas le résultat attendu:
$docXML = new DOMIT_Lite_Document();
$albums =& $docXML->getElementsByTagName("album");
$totA = $albums->getLength();
for ($i = 0; $i < $totA; $i++) 
{
     $albums->removeNode($albums->item($i));
}
Je sais que tout le monde ne connait pas forcément domit, mais j'aimerais savoir si la logique objet est correcte dans mon code.

Encore mieux, quelqu'un a til déjàfait l'exérience de la suppression d'1 ou plusieurs noeuds dans u document xml avec domit? comment faire cela correctement?

Merci pour vos réponses.

Invité
Invité n'ayant pas de compte PHPfrance

17 mai 2008, 14:02

j'ai fini par trouver comment supprimer un noeud.

fichier xml:
<slideshow> 
    <album>  
        <image>1.jpg</image>  
        <image>2.jpg</image>  
        <image>3.jpg</image>  
    </album>  
    <album>  
        <image>4.jpg</image>  
        <image>5.jpg</image>  
        <image>6.jpg</image>  
    </album>  
</slideshow>  
Code pour supprimer un album
   $docXML =& new DOMIT_Lite_Document(); 
   $success = $docXML->loadXML("example.xml"); 
   if ($success)  
   { 
       $albums =& $docXML->getElementsByTagName("album"); 
       $albums->removeNode($albums->item(0)); 
   }  
Et là je rencontre un autre problème!
Si je fais:
$save =& $docXML->saveXML("example.xml" , true);  
Mon document est bien mis à jour, pas modifié!
Pourtant si j'envoie le résultat des mes opérations au navigateur:
echo $albums->toNormalizedString(true);  
Je vois bien que mon album a été modifié.
Pourquoi ce code modifie til le xml chargé, sans modifier physiquement le xml du document lui même?

Invité
Invité n'ayant pas de compte PHPfrance

17 mai 2008, 18:01

je pense être le seul codeur a avoir atteint un niveau aussi développé, car je n'ai trouvé aucune réponse sur le web et sur les 5 meilleurs forums de france.
sans m'en rendre compte, je commence à toucher des sujets qui sont au delà de la compréhension humaine. mon grand père m'avait pourtant prévenu, si tu vas trop loin tu seras seul. et voilà ou j'en suis aujourd'hui. Le génie apporte la solitude, croyez moi.