Ajout, modification, suppression dans XML [Résolu]

Signaler
Messages postés
458
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
18 avril 2009
-
Messages postés
1522
Date d'inscription
mardi 18 décembre 2001
Statut
Modérateur
Dernière intervention
21 août 2010
-
Bonjour j'aurais aimé trouver une technique pour ajouter, mettre à jour
et supprimer des données dans mon fichier xml, je cherche mais je
trouve pas. En fait le problème c'est que beaucou de technique utilise
des champs plutot que des paramètres et c'est celà qui va plus.

Mon fichier à la structure suivant :

<SectionGen>

<Langue lng="0">

<Section Nom="Home" New="false" Externe="false" Visible="true">

<SubSection
Nom="testnom" new="false" Externe="false" Visible="true">




</SubSection>

</Section>

</Langue>

</SectionGen>

--------------------------------------

j'ai trouvé une technique qui fait :

XmlTextWriter tw = new XmlTextWriter("fichier.xml",System.Text.Encoding.ASCII);



tw.Formatting = System.Xml.Formatting.Indented;

//tw.WriteStartDocument (false);

tw.WriteStartElement("SectionGen");

tw.WriteStartElement("Langue", null);

tw.WriteAttributeString("lng","fr");

tw.WriteStartElement("Section", null);

tw.WriteAttributeString("Nom","nom1");

tw.WriteAttributeString("New","false");

tw.WriteAttributeString("Externe","false");

tw.WriteAttributeString ("Visible","true");

tw.WriteStartElement("SubSection", null);

tw.WriteAttributeString("Nom","nom1");

tw.WriteAttributeString("New","false");

tw.WriteAttributeString("Externe","false");

tw.WriteAttributeString ("Visible","true");

tw.WriteStartElement("article", null);

tw.WriteAttributeString ("Url","\\test");

tw.WriteAttributeString("Nom","nom1");

tw.WriteAttributeString("New","false");

tw.WriteAttributeString("Externe","false");


tw.WriteAttributeString ("Visible","true");


tw.WriteEndElement ();

tw.WriteEndElement ();

tw.WriteEndElement();

tw.WriteEndElement();

tw.WriteEndElement ();

//Write the XML to file and close the tw

tw.Flush();

tw.Close();



ça marche, mais uniquement pour l'ajout d'un élément, en fait je ne
recopie pas les anciennes données, donc je ne peux pas les modifier, en
ajouter au milieu, modifier leur paramètre etc. Je pense que le
problème est posé, à vous



Par avance merci

3 réponses

Messages postés
1522
Date d'inscription
mardi 18 décembre 2001
Statut
Modérateur
Dernière intervention
21 août 2010
5
Dans la doc MSDN il y a des exemples la dessus normalement :

- Selection d'un node : http://msdn.microsoft.com/library/fre/default.asp?url=/library/fre/cpref/html/frlrfSystemXmlXmlNodeClassSelectSingleNodeTopic.asp

- Suppression d'un Node : http://msdn.microsoft.com/library/fre/default.asp?url=/library/fre/cpref/html/frlrfsystemxmlxmlnodeclassremovechildtopic.asp

A++

Crazyht
MVP Visual C#.NET

[Admin Codes-Sources]
[Membre Developer-Association]
Messages postés
1522
Date d'inscription
mardi 18 décembre 2001
Statut
Modérateur
Dernière intervention
21 août 2010
5
En recuperant un XmlDocument. Tu peux selectionner un XmlNode qui te permettra de modifier ta structure. Le tout en finissant par sauvegarder le XmlDocument pour garder les modif...

A++

Crazyht
MVP Visual C#.NET

[Admin Codes-Sources]
[Membre Developer-Association]
Messages postés
458
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
18 avril 2009

Tout d'abord merci pour cette réponse aussi rapide. Aurez tu un exemple parlant, car je veux bien avoir :

XmlDocument xmlfi = new XmlDocument();

xmlfi.LoadXml("fichier.xml");

System.Xml.XmlNode xmlnode= new XmlNode ();

mais bon maintenant je fais quoi lol.

Amicalement TMCUH