Modifier un fichier XML [Résolu]

Messages postés
20
Date d'inscription
lundi 16 juin 2008
Dernière intervention
19 janvier 2009
- - Dernière réponse : cs_Bidou
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
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 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
20
Date d'inscription
lundi 16 juin 2008
Dernière intervention
19 janvier 2009
3
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 117 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
Dernière intervention
20 juin 2013
59
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

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.