Soyez le premier à donner votre avis sur cette source.
Snippet vu 13 733 fois - Téléchargée 17 fois
//code .cs, il faut bien sûr ajouter "using System.Xml" et using "System.Xml.Linq" XmlDocument docXML = new XmlDocument(); docXML.Load(Application.StartupPath + @"\nomFichier.xml"); //On récupere le flux XML depuis le fichier XML XElement docXMLFromLinq = XElement.Load(Application.StartupPath + @"\nomFichier.xml"); XmlNodeList nodes = docXML.SelectNodes("/racine/noeud_perso"); //Utilisation de Linq to XML //le fichier XML int iMaxNodeId = 0; //docXMLFromLinq.Element("") foreach (var id in docXMLFromLinq.Elements("noeud_perso")) { int iIdNode = System.Convert.ToInt32((string)id.Attribute("noeud_persoId")); iMaxNodeId = Math.Max(iMaxNodeId, iIdNode); } //Le nouveau noeud XElement oNewNode = new XElement("noeud_perso", new XAttribute("noeud_persoId", iMaxNodeId+1), new XElement("nom_noeud_perso", "Mon_nom_toto"); //sauvegarde du fichier XML docXMLFromLinq.Add(oNewNode); docXMLFromLinq.Save(Application.StartupPath + @"\nomFichier.xml"); //attention Nom_de_projet : remplacer par le nom de votre projet String sDestinationSauvegarde = Nom_de_votre_projet.Properties.Settings.Default.ModeleTypesDeFichier; //Rien de plus facile que de supprimer un noeud : XmlDocument docXML = new XmlDocument(); docXML.Load(Application.StartupPath + @"\nomFichier.xml"); XmlNodeList nodes = docXML.SelectNodes("/racine_perso/nom_noeud_perso"); foreach (XmlNode node in nodes) { foreach (XmlNode oNodeEnfant in node.ChildNodes) { if (oNodeEnfant.Name == "nomtypelong" && NodeEnfant.FirstChild.InnerText == oItem.ToString()) { oNodeEnfant.ParentNode.ParentNode.RemoveChild(node); docXML.Save(Application.StartupPath + "\nomFichier.xml"); } } }
1 févr. 2016 à 18:24
L'interfaçage n'est pas présenté.
J'ai écrit un tuto plus détaillé ici http://codes-sources.commentcamarche.net/faq/11196-linq-to-xml-c-et-vb-net
Pour afficher les données, tu peux utiliser le binding, voir ici
http://codes-sources.commentcamarche.net/faq/1291-utilisation-du-binding-au-travers-de-l-objet-databindingsource
1 févr. 2016 à 17:57
Comment tu insère ce code dans winform ?
14 oct. 2010 à 12:27
XElement root = XElement.Load("nomFichier.xml");
IEnumerable<XElement> noeuds =
from el in root.Elements("nom_noeud_perso")
where (string)el.Element == "nomtypelong"
select el;
foreach (XElement el in noeuds)
el.Remove
16 févr. 2009 à 10:27
16 févr. 2009 à 09:36
Pourquoi ne fais-tu pas la sauvegarde une seule fois et après la fin des boucles ?
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.