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

Messages postés
14
Date d'inscription
mardi 11 décembre 2018
Dernière intervention
24 février 2019
- - Dernière réponse : Whismeril
Messages postés
12932
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 mars 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 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
12932
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 mars 2019
350
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 120 internautes nous ont dit merci ce mois-ci

dragonfly22000
Messages postés
14
Date d'inscription
mardi 11 décembre 2018
Dernière intervention
24 février 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
12932
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 mars 2019
350
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 120 internautes nous ont dit merci ce mois-ci

dragonfly22000
Messages postés
14
Date d'inscription
mardi 11 décembre 2018
Dernière intervention
24 février 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
12932
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 mars 2019
350 -
de rien
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.