Bonjour à tous,

Lorsque j'essai de changer de manière dynamique l'objet d'itération de ma boucle For each, VB2010 me donne l’exception suivante : InvalidOperationException.

Plus concrètement , dans mon fichier XML, je scrute tous les noeuds que je veux tester, et s'ils ne satisfassent pas aux conditions, je les supprime. A ce moment la, la liste de nœud change de taille et ça plante voila mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
        Dim Cio As XmlNodeList
        Dim Materiel As XmlNode
        Dim pere As XmlNode
        Dim node As XmlNode
Cio = feuille.GetElementsByTagName("Cio")
For Each Materiel In Cio
                    père = Materiel.ParentNode
 
                    If Materiel.Attributes.ItemOf(1).Value = "CT" Then
 
                        If Saisi_util(j).GTW <> Materiel.Attributes.ItemOf(1).Value & "_" & Materiel.Attributes.ItemOf(2).Value Then
 
                            pere.RemoveChild(Materiel)
 
                        End If
 
                    End If
 
                Next

Dans mes recherche, j'ai entendu parler de " IEnumerable" , mais pas moyen de trouver un exemple compréhensible.

Merci de votre aide