Boucle de lecture C#.NET fichier XML

Fermé
Ben - 13 oct. 2010 à 17:38
Bonjour,

Je dois réaliser un programme en C# qui lit et fait des vérifications sur un fichier xml du type suivant :

<?xml version="1.0" encoding="ISO-8859-1"?>
<LISTLOT SUBJECT="XML">
<LOT ISBN="1" LANG="fr" SUBJECT="applications">
<SOCIETE>rzererc</SOCIETE>
<ADRESSE1>43 zefzef /ADRESSE1>
<ADRESSE2></ADRESSE2>
<CODEPOSTAL>6ezrzer</CODEPOSTAL>
<VILLE>vezrvbr</VILLE>
<NUMERO>463</NUMERO>
</LOT>
.
.
.
</LISTLOT>

Mon problème, c'est de faire une boucle qui va exécuter les actions de vérification du fichier pour chaque élément LOT.
Mais quoi que je tente (Avec reader.Read()) je reste bloqué sur le premier (les actions s'exécutent mais que sur le premier élément LOT).

Voila mon code actuel, incluant la partie de vérification :


XElement racine = XElement.Load("C:\\Users\\Benoît\\Documents\\Visual Studio 2010\\Projects\\File_test.xml");
XmlTextReader reader = new XmlTextReader("C:\\Users\\Benoît\\Documents\\Visual Studio 2010\\Projects\\File_test.xml");
while (reader.Read())
{
if (reader.LocalName == "LOT")
{
p = 0;
while (p < i)
{
//combien de champs a tester ? (taille SI)
int SI = 0;
SI = Convert.ToInt32(conf[p, 4]);
//creer un tableau de string[size SI] pour y mettre les champs a tester
string[] box_to_test = new string[SI];
string[] values_to_test = new string[SI];
//recuperer les noms de ces champs et remplir un tableau pour parser le suivant
box_to_test = count_make_tab.put_box_name(conf[p, 3], box_to_test, SI);
//recuperer les valeurs de ces champs et remplir le tableau
int l = 0;
while (l < SI)
{
values_to_test[l] = racine.Element("LOT").Element(box_to_test[l]).Value;
l++;
}
Console.WriteLine(values_to_test[0]);
//faire le test de la regex
check_errors.check_regex(p, conf, values_to_test, wlogs);
p++;
}
}
}

Si quelqu'un a une idée ... Merci d'avance.
A voir également: