Bonjour,
En C#, j'ai un document XML xmlDoc et ses noeuds.
Je souhaite parcourir la liste des noeuds du root pour récupérer celui qui m'intéresse. Je fais donc
Or le Current me retourne une InvalidOperationException.
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 XmlNodeList wellNodeList = rootNode.ChildNodes; IEnumerator wellEnum = wellNodeList.GetEnumerator(); while (wellEnum.MoveNext()) { XmlNode aWell = (XmlNode)wellEnum.Current; ... }
Si j'ai bien compris c'est parce que l'énumérateur aurait été modifié par ajout ou suppression d'élément.
Or entre l'appel à GetEnumerator et le while je ne fais rien d'autre.
L'inspection de variables me montre que wellNodeList contient bien tous les éléments qui sont censé s'y trouver et je peux d'ailleurs les parcourir.
Par contre je ne peux effectivement pas regarder le conteu de wellEnum (c'est donc bien là que ça ne marche pas, mais du coup je ne vois déjà pas pourquoi il réussi à passer le MoveNext sans problème...).
Je ne vois pas ce qui ne fonctionne pas dans ce GetEnumerator...
J'ai essayé la méthode rootNode.GetEnumerator(); mais ça ne donne rien de mieux.
Précision : le document xml n'est pas un document que j'ai chargé mais que je suis en train de construire.
merci pour votre aide,
bon code.
kerinel
Partager