Pb encodage XmlTextWriter

cs_Yxion Messages postés 219 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 7 septembre 2009 - 2 avril 2007 à 17:41
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 4 avril 2007 à 08:08
Salut,
j'ai un problème avec l'encodage d'un XmlTextWriter dont la source est un StringBuilder :

StringBuilder myStrBuild = new StringBuilder();
XmlTextWriter myXmlWriter = new XmlTextWriter(newStringWriter(myStrBuild ));
myXmlWriter.WriteStartDocument();

Mon problème est que l'encodage des caractères est UTF-16 et il me faut UTF-8, et dans le StringBuilder, le StringWriter ou le XmlTextWriter la propriété Encoding, lorsqu'elle est présente, est en lecture seule.

Alors comment faire pour créer un XmlTextWriter en utf-8 ?

Merci

10 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
2 avril 2007 à 22:15
Salut,
Tu peux passer l'encoding voulu dans le constructeur de ton object XmlTextWriter

<hr />
-Blog-
0
cs_Yxion Messages postés 219 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 7 septembre 2009
3 avril 2007 à 12:41
Y a pas de constructeur pour le StringWriter qui défini l'encoding, et y en a qu'un d'ailleur.
0
cs_Yxion Messages postés 219 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 7 septembre 2009
3 avril 2007 à 12:42
NB : je mets pour le StringWriter.... mais je parle bien du constructeur du XmlTextWriter
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
3 avril 2007 à 14:12
Mais si, tu peux faire comme ceci:

XmlTextWriter



x =

new



XmlTextWriter
(

"myFile.xml"
, myEncoding);













<hr />
-Blog-
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
3 avril 2007 à 14:13
Je viens de penser au fait que tu utilises peut-être encore le framework 1 ou 1.1, dans ce cas je ne pourrais pas te dire quels sont les overloads disponible dans cette version du framework...

<hr />
-Blog-
0
cs_Yxion Messages postés 219 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 7 septembre 2009
3 avril 2007 à 17:03
Le pb, c'est que je construit une classe ne modifiant pas forcement un fichier xml, elle dois servir et pour une page Web et pour un app Windows, et j'ecrit dans ce stringbuilder.
0
cs_ip2x Messages postés 63 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 27 janvier 2009
3 avril 2007 à 23:04
Je travaille actuellement sous framework 1.1 et il y'a bien un Encoding.UTF8 c'est certain. Je regarderai mes declarations demain au taff, ici j'ai le FW2.

Aprés l'effort, le reconfort... http://ip2x.free.fr/tracks/part4
0
cs_ip2x Messages postés 63 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 27 janvier 2009
3 avril 2007 à 23:31
XmlTextWriter m_xmlWriter = new XmlTextWriter(filename, Encoding.UTF8);

Wala mister.

Aprés l'effort, le reconfort... http://ip2x.free.fr/tracks/part4
0
cs_Yxion Messages postés 219 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 7 septembre 2009
4 avril 2007 à 00:24
Je vais me répéter, mais dans le constructeur du XmlTextWriter qui prends un StringWriter, il n'y a pas possibilité de choisir d'Encoding.... et ce sur le .NET 2
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
4 avril 2007 à 08:08
Le constructeur ne prend pas un StringWriter mais un TextWriter.... Un StringWriter est un object qui utilises un StringBuilder en interne, et on ne peut pas spécifier d'encoding à un StringBuilder sauf erreur...

Tu peux bien entendu passer un StringWriter au constructeur mais dans ton cas ce n'est apparement pas la bonne solution. Pourquoi ne pas lui passer un StreamWriter?

<hr />
-Blog-
0
Rejoignez-nous