C# & xml : Recherche dans un fichier xml
Bonjour tout le monde.
J'ai un projet de l'école que je suis entrain de réaliseravec c# mais j'ai un problème sur la recherche dans le fichier xml.
mon code c# est le suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| static public ArrayList LoadComp(string path)
{
compte c = new compte();
ArrayList comp = new ArrayList();
XmlDocument doc = new XmlDocument();
doc.Load(@"C:\Users\Administrateur\Desktop\Projet Banque\GestionComptes\Fihierxml\Comptes.xml");
XmlNode xcomp = doc.FirstChild.SelectSingleNode("compte[@numcompte=" + (c.numcompte) + "]");
//parcours des noeuds
foreach (XmlNode com in xcomp)
{
xcomp.Attributes["numcompte"].Value=Convert.ToString(c.Numcompte);
xcomp.Attributes["typecompte"].Value = c.Typecompte;
xcomp.Attributes["datecreation"].Value = c.datecreation.ToString();
xcomp.Attributes["solde"].Value = c.Solde.ToString();//récupère l'attribut Solde
if (c.GetType() == typeof(CompteCourant))
{
CompteCourant cc = (CompteCourant)c;
}
if (c.GetType() == typeof(CompteBloque))
{
CompteBloque cb = (CompteBloque)c;
xcomp.Attributes["frequence"].Value = cb.Frequence;
xcomp.Attributes["duree"].Value = cb.Duree;
}
if (c.GetType() == typeof(CompteEpargne))
{
CompteEpargne ce = (CompteEpargne)c;
xcomp.Attributes["frequence"].Value = ce.Frequence;
}
if (c.GetType() == typeof(CompteDecouvert))
{
CompteDecouvert cd = (CompteDecouvert)c;
xcomp.Attributes["decouvert"].Value = cd.Decouvert.ToString();
}
comp.Add(xcomp);//ajout dans la liste
}
return comp;
} |
et celui qui est derrière le bouton rechercher d'un formulaire c# qui doit intéragir avec le fichier xml est le suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| private void BtnRechercher_Click(object sender, EventArgs e)
{
xmlFileUtil p = new xmlFileUtil();
if (CmbRecherche.Text == ("Numéro de compte"))
{
compte c = new compte();
xmlFileUtil.LoadComp(TxtRecherche.Text);
// p.ModifierCompte(TxtRecherche.Text);
//if (client.pasSucces == false)
//{
TxtNumCompte.Text = Convert.ToString(c.Numcompte);
CmbTypeCompte.Text = c.typecompte;
DtpDateCreation.Text = Convert.ToString(c.Datecreation.ToLongDateString());
TxtSolde.Text = Convert.ToString(c.Solde);
if(c.GetType()==typeof(CompteEpargne))
{
CompteEpargne ce=(CompteEpargne)c;
CmbFrequence.Text=ce.Frequence;
}
if(c.GetType()==typeof(CompteBloque))
{
CompteBloque cb=(CompteBloque)c;
CmbFrequence.Text=cb.Frequence;
CmbDuree.Text=cb.Duree;
}
if(c.GetType()==typeof(CompteDecouvert))
{
CompteDecouvert cd=(CompteDecouvert)c;
CmbDuree.Text=Convert.ToString(cd.Decouvert);
} |
Si quelqu'un peu me donner un coût de main, ça serait gentil.
Merci d'avance.