Modifier un fichier XML [Résolu]

Messages postés
20
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
19 janvier 2009
- - Dernière réponse : cs_Bidou
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
- 24 juin 2008 à 21:40
Bonjour,


Je suis en train de travailler en C#, et je souhaiterais lire un document XML existant et ajouter une nouvelle balise à un endroit précis. Mon fichier XML ressemble à cela :

   <documents>
      <data name="A" valeur="val">
      <data name="B" valeur="val">
      <data name="C" valeur="val">
   </documents>

Ce que je souhaite, c'est ajouter une nouvelle balise du type "<data ... >", avec son nom et sa valeur, comme ci-dessus.
J'ai déjà trouvé le code suivant, qui me permet (je crois) de lire le fichier XML :


XmlDocument L_doc =
new
XmlDocument();


L_doc.Load(@"C:\data.xml");



XmlNodeReader
L_nodeReader =

new



XmlNodeReader
(L_doc);




DataSet
mon_data_set =

new



DataSet
();



mon_data_set.ReadXml(L_nodeReader);

Mais après, je ne sais pas comment accéder à la balise souhaitée et y ajouter de nouvelles données.

Quelqu'un aurait une idée ?

Merci
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
20
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
19 janvier 2009
2
3
Merci
En fait, ça y est, j'ai trouvé une méthode qui marche.
La voilà pour ceux que ça intéresse :

XmlDocument L_doc =
new
XmlDocument
();

string file =
@"C:\data.xml" ;
L_doc.Load(file);

XmlElement root = L_doc.DocumentElement;

XmlNode doc = root.SelectSingleNode(
"documents");

XmlNode data= L_doc.CreateNode(
XmlNodeType.Element,
"data",
"");

XmlAttribute newAttr1 = L_doc.CreateAttribute(
"name");
newAttr1.Value =
"A";

XmlAttribute newAttr2 = L_doc.CreateAttribute(
"valeur");
newAttr2.Value =
"val";
data.Attributes.Append(newAttr1);
data.Attributes.Append(newAttr2);
doc.AppendChild(data);
L_doc.Save(file);

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

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

Commenter la réponse de cybers7119
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
41
0
Merci
Si tu es en .NET 3.5, tu peux regarder du côté de Linq2Xml

<hr />
-My Blog-
Commenter la réponse de cs_Bidou