[Debutant] Je galere depuis 2 jours pour supprimer un node d'un fichier Xml. [Résolu]

Messages postés
22
Date d'inscription
mardi 11 décembre 2018
Statut
Membre
Dernière intervention
22 octobre 2019
- - Dernière réponse : Whismeril
Messages postés
13853
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
22 octobre 2019
- 24 févr. 2019 à 12:16
Bonjour, tout est dans le titre .
J'aimerais pouvoir effacer un node selectionner
Ne riez pas c'est surement facile a faire.
Voici une de mes nombreuses tentatives:


private void DeleteEntry_Click(object sender, EventArgs e)

{
string selectednode = Convert.ToString(treeMenu.SelectedNode);
string path = Application.StartupPath + @"\XMLFILE\NewFormNameList.XML";
XmlDocument doc = new XmlDocument();
doc.Load(path);

XmlNodeList nodes = doc.GetElementsByTagName(selectednode);
XmlNode node = nodes[0];
node.RemoveChild(node);

doc.Save(path);

}


voici mon fichier Xml :

<?xml version="1.0" encoding="utf-8"?>
<MenuList>
<ItemDetails>
<ItemAdd />
<ItemEdit />
<ItemDelete />
<itemPrice />
<test />
<test2 />
<test3 />
<res />
</ItemDetails>
<UserDetails>
<tre />
</UserDetails>
</MenuList>


Donc pour résumer j'aimerais pouvoir effacer un node selectionné (par exemple test2) de mon Treeview (treeMenu).
Merci d'avance pour ceux qui prendront de leurs temps précieux pour me répondre.
Bien a vous.
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
13853
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
22 octobre 2019
312
1
Merci
Bonsoir

là tu supprimes les enfants de ton Node, pas le Node.

Quand j'étais petit, la mer Morte n'était que malade.
George Burns

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CodeS-SourceS

Codes Sources 190 internautes nous ont dit merci ce mois-ci

dragonfly22000
Messages postés
22
Date d'inscription
mardi 11 décembre 2018
Statut
Membre
Dernière intervention
22 octobre 2019
-
Merci d'avoir prit le temps de me répondre.
J'ai trouvé ça comme solution je la joint si ça peut aider quelqu'un.
 string rootFolder = Application.StartupPath + @"\XMLForms\";
string selectednode = Convert.ToString(treeMenu.SelectedNode);
string path = Application.StartupPath + @"\XMLFILE\NewFormNameList.XML";
XDocument XMLDoc = XDocument.Load(path);
XElement elment = (from xml1 in XMLDoc.Descendants(textBox2.Text)
select xml1).FirstOrDefault();
elment.Remove();
XMLDoc.Save(path);
loadTreeViewFromXML();
Commenter la réponse de Whismeril
Messages postés
13853
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
22 octobre 2019
312
1
Merci
FirstOrDefault retourne null s’il n’y a pas d’occurence.
Je te conseille donc de tester element
if(element != null)
{
            elment.Remove();
            XMLDoc.Save(path);
            loadTreeViewFromXML();
}

Ça te premunira d’une erreur d’exécution potentielle.

PS: pour poster un code merci de lire et d’appliquer ce qui est décrit là https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CodeS-SourceS

Codes Sources 190 internautes nous ont dit merci ce mois-ci

dragonfly22000
Messages postés
22
Date d'inscription
mardi 11 décembre 2018
Statut
Membre
Dernière intervention
22 octobre 2019
-
Merci beaucoup pour l'info et je vais de ce pas lire la charte concernant le postage de code .
Bonne journée a très bientôt.
Whismeril
Messages postés
13853
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
22 octobre 2019
312 -
de rien
Commenter la réponse de Whismeril