Meilleur auteur de réponses
Récupérer et enregistrer des données dans un fichier xml

Question
-
Bonjour,
j'ai créer un fichier xml pour y enregistrer des boites e-mails dont j'ai insérer un élément pour pouvoir l’insérer dans une listbox mais je n'arrive pas à récupérer cet élément à partir du code c#.(j'ai chercher sur le net des solution avant de poser la question mais en vain)
Voici le code xml:
<?xml version="1.0" encoding="utf-8" ?>
<mailboxes>
<mailboxe id="1">
<address>testbts@telecom.com</address>
<password>****</password>
<popServerAddress>mx1.budgetelecom.com</popServerAddress>
<login>testbts</login>
</mailboxe>
</mailboxes>et voici le code c# que j'utilise pour récupérer le nœud:
XmlDocument mailboxes = new XmlDocument();
mailboxes.Load("Mailboxes.xml");
XmlNode node = mailboxes.DocumentElement;
XmlNodeList nodeList = node.SelectNodes("mailbox");
for (int i = 0; i < nodeList.Count; i++)
{
lbMailbox.Items.Add(nodeList[i].SelectNodes("address").Item(0).InnerText);}
Merci pour votre aide
Réponses
-
Bonjour,
Apparemment une petite incohérence dans les noms. On cherche "mailbox" dans le code mais on utilise "mailboxe" dans le fichier...
Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
- Proposé comme réponse Patrice ScribeMVP lundi 25 février 2013 18:32
- Marqué comme réponse Aurel BeraModerator mardi 26 février 2013 08:29
-
ReBonjour
J'ai créé ce code qui fonctionne:<o:p></o:p>
XmlElement xMB = mailboxes.CreateElement("mailboxe"); XmlAttribute xattr = mailboxes.CreateAttribute("id"); xattr.Value = "2"; xMB.Attributes.Append(xattr); XmlNode newnode; newnode = mailboxes.CreateElement("address"); xMB.AppendChild(newnode); newnode.InnerText = "email"; xMB.AppendChild(newnode); newnode = mailboxes.CreateElement("password"); newnode.InnerText = "password"; xMB.AppendChild(newnode); newnode = mailboxes.CreateElement("popServerAddress"); newnode.InnerText = "popaddress"; xMB.AppendChild(newnode); mailboxes.DocumentElement.AppendChild(xMB);
Cordialement,
- Marqué comme réponse naoufel mercredi 27 février 2013 08:53
Toutes les réponses
-
Bonjour,
Apparemment une petite incohérence dans les noms. On cherche "mailbox" dans le code mais on utilise "mailboxe" dans le fichier...
Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
- Proposé comme réponse Patrice ScribeMVP lundi 25 février 2013 18:32
- Marqué comme réponse Aurel BeraModerator mardi 26 février 2013 08:29
-
-
Bonjour
Si vous avez résolu votre problème n'oubliez d’utiliser le bouton "Marquer comme réponse". On a marqué pour la réponse vous dans ce thread. Si n’est pas bon, vous pouvez revenir avec « Ne pas marquer comme réponse »
Cordialement,
-
-
Et comment faire pour ajouter un attribut dans le xml à partir du code SVP
j'ai essayer de cette façon mais en vain:
XmlNode newnode = mailboxes.CreateNode(XmlNodeType.Element, "mailbox", "");
newnode = mailboxes.CreateElement("address");
newnode.AppendChild(newnode);
newnode.InnerText = aMailbox.emailAddress;
newnode.AppendChild(newnode);
newnode = mailboxes.CreateElement("password");
newnode.InnerText = aMailbox.password;
newnode.AppendChild(newnode);
newnode = mailboxes.CreateElement("popServerAddress");
newnode.InnerText = aMailbox.popServerAddress;
newnode.AppendChild(newnode);
mailboxes.Save(mailboxes.xml); -
Ici je vois un problème:
XmlNode newnode = mailboxes.CreateNode(XmlNodeType.Element, "mailbox", "");
newnode = mailboxes.CreateElement("address"); ///creez un nouveau
et apres
newnode.AppendChild(newnode); ////??????
Vous devez ajouter newnode quelque part dans la structure de de mailBox.
Cordialement,
-
-
ReBonjour
J'ai créé ce code qui fonctionne:<o:p></o:p>
XmlElement xMB = mailboxes.CreateElement("mailboxe"); XmlAttribute xattr = mailboxes.CreateAttribute("id"); xattr.Value = "2"; xMB.Attributes.Append(xattr); XmlNode newnode; newnode = mailboxes.CreateElement("address"); xMB.AppendChild(newnode); newnode.InnerText = "email"; xMB.AppendChild(newnode); newnode = mailboxes.CreateElement("password"); newnode.InnerText = "password"; xMB.AppendChild(newnode); newnode = mailboxes.CreateElement("popServerAddress"); newnode.InnerText = "popaddress"; xMB.AppendChild(newnode); mailboxes.DocumentElement.AppendChild(xMB);
Cordialement,
- Marqué comme réponse naoufel mercredi 27 février 2013 08:53
-