XmlTextWriter

[Résolu]
Signaler
Messages postés
33
Date d'inscription
mardi 24 février 2004
Statut
Membre
Dernière intervention
24 octobre 2005
-
Messages postés
33
Date d'inscription
mardi 24 février 2004
Statut
Membre
Dernière intervention
24 octobre 2005
-
Bonjour à tous,

Alors voilà j'ai un probleme c'est que j'utilise cette fonction en C# :


writer.WriteStartElement(string);

Et mon probleme c'est que je voudrais que le nom de ma balise soit un chiffre comment je peux faire svp ?

Merci à tous ;)
A voir également:

10 réponses

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
58
Oups, j'ai mis tous les liens en Anglais, pour la version française :

MSDN en Français : http://msdn.microsoft.com/library/fre/
Et pour le lien du DataSet : http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/cpref/html/frlrfSystemDataDataSetClassTopic.asp

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
54
Mais c'est inhérent au xml, le fait qu'une balise ne puisse pas commencer par un chiffre

Mx
Messages postés
33
Date d'inscription
mardi 24 février 2004
Statut
Membre
Dernière intervention
24 octobre 2005

Ok j'ai pas trop compris là ^^ mais en faite c'est parceque je veux sauvegarder des donnés et sa contiendrait l'id de l'enregistrement donc j'ai besoin de mettre des chiffres ...

Merci de votre aide ;)
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
54
Beh, une balise xml ne peut pas commencer par un chiffre, donc c'est pas possible.

Ce que tu peux faire plutot, c'est rajouter un attribut que tu nommerais "id" a ton noeud

Mx
Messages postés
33
Date d'inscription
mardi 24 février 2004
Statut
Membre
Dernière intervention
24 octobre 2005

C'est à dire comment je dois m'y prendre stp je debute
Messages postés
33
Date d'inscription
mardi 24 février 2004
Statut
Membre
Dernière intervention
24 octobre 2005

En faite il faut juste que apres je puisse recupere les "champs" de chaque id...

Merci encore ;)
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
54
Voila le code pour l'écriture.

A noter que si tu travailles avec des DataSet, tu peux tout simplement utiliser la fonction DataSet.WriteXml(). (Ou alors tu peux creer des DataTable et DataSet et faire avec ca)



Si tu veux absolument passer par un XmlTextWriter, alors voila la facon d'ecrire :



<hr size="2" width="100%"> XmlTextWriter writer = new XmlTextWriter("fichier.xml", null);



// Pour l'identation

writer.Formatting = Formatting.Indented;



// On ecrit la racine du fichier

writer.WriteStartElement("Objets");



// On ecrit le premier élement

writer.WriteStartElement("objet");

// Et l'attribut id, avec sa valeur

writer.WriteAttributeString("id", "1"); // remplace 1 par ton id



// La, on ecrit le nom de l'objet dans le noeud.

//Remarque qu'on aurait aussi pu le mettre dans un atribut

writer.WriteString("Nom de mon objet");

// Et on ferme la balise

writer.WriteEndElement();



//On ferme la racice

writer.WriteEndElement();



// Et on ecrit les données dans le fichier xml

writer.Flush();

writer.Close();

<hr size="2" width="100%">Evidemment, il te faudra passer par une boucle qui ecrit tout tes noeuds pour la partie que j'ai mis en gras



Pour la lecture, et bien tu utilises un XmlTextReader et tu navigues dans ton fichier, ou alors, DataSet.ReadXml() et tu joues avec. (Perso, je preferais cette facon)




Mx
Messages postés
33
Date d'inscription
mardi 24 février 2004
Statut
Membre
Dernière intervention
24 octobre 2005

J'ai compris ta methode et je te remerci de ton aide en revanche j'aime programmer propre meme si je debute alors pourrais-tu m'expliquer l'avantage d'utilisé un dataset et la differente avec xmltextreader ?

Merci d'avance
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
58
Salut,
Le plus simple, c'est que tu lises la documentation toi-même: sur le net, tu trouveras presque tout ce dont tu auras besoin. Commences par visiter le site de MS : http://msdn.microsoft.com

Par exemple, pour le DataSet, tu trouveras cette page sur MSDN : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataDataSetClassTopic.asp avec des exemples à l'appuis...

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Messages postés
33
Date d'inscription
mardi 24 février 2004
Statut
Membre
Dernière intervention
24 octobre 2005

Merci beaucoup à tous problème réslu