Bonjour à tous !
Alors voilà, j'ai un petit problème. Voici mon document XML qui contient une liste d'équipement et des variables pour chaque équipement :
Je voudrais supprimer toutes les balises "var" de mon équipement, je procède comme il suit avec une boucle foreach
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8:
Le problème, c'est que je me retrouve avec seulement une balise "var" sur deux de supprimée !?
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8$equipement = $monDOMDocument->getElementsByTagName('equipement')->item(0); $listeVar = $equipement->getElementsByTagName('var'); foreach($listeVar as $var) { $equipement->removeChild($var); }
Ainsi la moitié des balises reste ! Seule les balises ayant l'id 1 et 3 ont disparues. Les balises ayant l'id 2 et 4 sont toujours présenteset donc je me retrouve avec le Document XML suivant :
Alors que je voudrais simplement cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
Cela fait maintenant une journée entière que je bute sur détail. Mais je ne vois vraiment pas d'où vient le problème, à moins que la boucle foreach se considère à la balise suivante quand on supprime la balise en cours, ainsi l'incrémentation du curseur se ferait de 2 crans de suite, loupant ainsi une balise sur 2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
Si c'est le cas comment faire pour simplement supprimer mes balises "var" de mon équipement ?
Je vous remercie d’avance pour vos éventuelles solutions !


 

 
		
		 
        

 
			
			


 
   


 XML et PHP 5 : Problème : supprimer plusieurs fils (removeChild) dans un Foreach
 XML et PHP 5 : Problème : supprimer plusieurs fils (removeChild) dans un Foreach
				

 Répondre avec citation
  Répondre avec citation
Partager