Modifier un fichier XML [Résolu]

Messages postés
20
Date d'inscription
lundi 16 juin 2008
Dernière intervention
19 janvier 2009
- 24 juin 2008 à 15:41 - Dernière réponse :
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
- 24 juin 2008 à 16:32
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);

Merci cybers7119 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes 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
- 24 juin 2008 à 21:40
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.