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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<monfichier>
<equipement>
  <var id="1" taille="10"></var>
  <var id="2" taille="8"></var>
  <var id="3" taille="8"></var>
  <var id="4" taille="10"></var>
</equipement>
</monfichier>
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
1
2
3
4
5
6
7
8
 
$equipement = $monDOMDocument->getElementsByTagName('equipement')->item(0);
 
$listeVar = $equipement->getElementsByTagName('var');
foreach($listeVar as $var)  
{
$equipement->removeChild($var);
}
Le problème, c'est que je me retrouve avec seulement une balise "var" sur deux de supprimée !?

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ésentes et donc je me retrouve avec le Document XML suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<monfichier>
<equipement>
 
  <var id="2" taille="8"></var>
 
  <var id="4" taille="10"></var>
</equipement>
</monfichier>
Alors que je voudrais simplement cela :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<monfichier>
<equipement>
 
</equipement>
</monfichier>
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.

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 !