Ajout, modification, suppression dans XML

Résolu
tmcuh Messages postés 458 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 18 avril 2009 - 14 mars 2005 à 09:40
cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 - 14 mars 2005 à 10:33
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

cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
14 mars 2005 à 10:33
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]
3
cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
14 mars 2005 à 10:07
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]
0
tmcuh Messages postés 458 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 18 avril 2009
14 mars 2005 à 10:14
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
0
Rejoignez-nous