Barto45
Messages postés2Date d'inscriptionmardi 26 juin 2012StatutMembreDernière intervention26 juin 2012
-
26 juin 2012 à 13:28
Barto45
Messages postés2Date d'inscriptionmardi 26 juin 2012StatutMembreDernière intervention26 juin 2012
-
26 juin 2012 à 15:59
Bonjour,
Je réalise un programme qui me permet de lister dans un fichier csv les doublons présent dans un fichier XML.
J'ai commencé à réaliser mon code les résultats en sortie fonctionne, sauf que ma méthode ne doit pas être la bonne car pour parser 90 000 lignes il prend plus d'une heure, et encore le fichier final fera dans les 150 000 lignes, j'ai pas envie que ça prenne la journée...
En gros je crée une list sans doublon et je compare mon fichier XML ligne par ligne et je parse autant de fois que de lignes de la list sans doublons.
Ma question est de savoir si il y a une méthode de tri pour extraire mes doublons sans à devoir à parser mon XML des milliers de fois, je me dis que la fonction "Distinct.count" sort très rapidement le nombre de non doublons alors pourquoi pas les lister tout aussi rapidement ?
Barto45
Messages postés2Date d'inscriptionmardi 26 juin 2012StatutMembreDernière intervention26 juin 2012 26 juin 2012 à 15:59
Ce n'est qu'un extrait mais c'est cette partie du code qui met énormément de temps à traiter (logique vu mon raisonnement :D)
for (i = 0; i < XmlList.Count; i++)
{
foreach (XmlNode terme in NodeTerme)
{
if (XmlList[i].Equals(terme.Attributes["T"].Value))
{
count++;
valT = terme.Name +": "+ XmlList[i] + ";";
}
}
if (count > 1)
{
file.WriteLine(valT);
count = 0;
}
valT = null;
count = 0;
}
C'est la valeur de T= que je veux lister si un doublon existe.
<terme T="organisation de la cour administrative d'appel" >
<terme T="composition de la cour administrative d'appel" />
<terme T="fonctionnement de la cour administrative d'appel" />
</terme>