C# List<profils>, help
haloremi
Messages postés
350
Statut
Membre
-
haloremi Messages postés 350 Statut Membre -
haloremi Messages postés 350 Statut Membre -
Bonjour,
La partie de mon programme consiste à récupérer dans un fichier profil.xml le nom le prénom et le sexe d'un profils mais voila j'ai un problème c'est qu'il me récupère trois profils identiques. Voici mon code :
La partie de mon programme consiste à récupérer dans un fichier profil.xml le nom le prénom et le sexe d'un profils mais voila j'ai un problème c'est qu'il me récupère trois profils identiques. Voici mon code :
List<Profils> list_profil = new List<Profils>();
public MainWindow()
{
//Verifie si le document xml profil existe
if (System.IO.File.Exists("profils.xml"))
{
Profils profils_temp = new Profils();//profils temporaire pour récuperer les informations
//on lit le fichier en recuperant les données
XmlDocument doc = new XmlDocument();
doc.Load(@"profils.xml");
foreach (XmlNode e in doc.DocumentElement.ChildNodes)
{
profils_temp.set_nom(e.Attributes["id"].Value);
foreach (XmlNode i in e.ChildNodes)
{
if(i.Name.Equals("prenom"))
{
profils_temp.set_prenom(i.InnerText);
}
else
{
profils_temp.set_sexe(i.InnerText);
}
}
list_profil.Add(profils_temp);//A chaque fois que je passe ici il me change mes list_profil[0]/[1] etc
//donc à la fin je me retrouve avec par exemple 3 profils avec le même nom prénom sexe.
}
3 réponses
-
Bonjour,
déplace la ligne:
Profils profils_temp = new Profils();
juste avant celle-ci:
profils_temp.set_nom(e.Attributes["id"].Value); -
Bonjour,
Merci de m'avoir répondu, je n'étais pas la de la semaine. Je viens d'essayer ta solution mais sa ne change rien, j'ai toujours les trois même profils. -
Il doit y avoir un problème lié à mon objet temp comme si aux lieu d'attribuer l'objet profils_temp, il pointé dessus. J'ai réglé mon problème en creer 3 variable que j'envoie au constructeur profils quand je l'ajoute à ma list_profils.
Merci quand même.