cs_Yxion
Messages postés219Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 7 septembre 2009
-
2 avril 2007 à 17:41
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 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 ?
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 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...
cs_Yxion
Messages postés219Date d'inscriptionjeudi 6 juillet 2006StatutMembreDerniè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.
cs_ip2x
Messages postés63Date d'inscriptionmercredi 9 février 2005StatutMembreDernière intervention27 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.
cs_Yxion
Messages postés219Date d'inscriptionjeudi 6 juillet 2006StatutMembreDerniè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
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 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?