Modifier un fichier XML [Résolu]

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

Répondre au sujet
cybers7119 20 Messages postés lundi 16 juin 2008Date d'inscription 19 janvier 2009 Dernière intervention - 24 juin 2008 à 16:32
+3
Utile
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);
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cybers7119
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 24 juin 2008 à 21:40
0
Utile
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.