Bonjour à tous,

dans une boucle foreach je rencontre un problème assez bizarre

dans ma boucle j'essaie de fermer un élément xml qui est déjà ouvert à l'extérieure et c# me crie dessus en me disant
Le jeton StartElement dans l'état Epilog générera un document XML non valide.
mais pourtant je prends mes précautions en l'ouvrant et en le fermant aux bons endroit. mon problème ressemble à ca :
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
21
22
23
 
 
XmlTextWriter xmlWriter = new XmlTextWriter(@"c:\temp\file.xml", new UTF8Encoding());
xmlWriter.Formatting = Formatting.Indented;
xmlWriter.Indentation = 1;
xmlWriter.IndentChar = (char)0x0009;
 
xmlWriter.WriteStartDocument();
xmlWriter.WriteStartElement("parent"); //Ouverture du premier élément.
int i = 1;
	foreach (string chaine in chaines){
		//...Création d'éléments
		if (i == 4){
			i = 1;
			xmlWriter.WriteEndElement(); //Fermeture du premier élément mais aussi, évetuellement, l'élément intermédiaire.
			xmlWriter.WriteStartElement("parent");//Ouverture d'un élément intermédiaire et c'est ici qu'il plante.
		}else{
			i++;
		}
	}
xmlWriter.WriteEndElement(); //Fermeture du dernier élément intermiédiaire.
xmlWriter.WriteEndDocument();
xmlWriter.Close();
est-ce que, par hasard, quelqu'un aurait déjà rencontré un tel problème pour m'indiquer la sortie s'il vous plait????

merciiii et bonne soirée.