i ont un long document XML vient d'être créé par le constructeur de chaîne avec la balise de début comme <?xml version="1.0" encoding="UTF-8"?> <xxxxxx> .. </xxxxxx>
et je veux convertir ce xml type d'encodage iso-8859-9 . Comment puis-je faire cela? Ou quelqu'un me suggère une autre façon de créer le type de codage ISO-8859-9 xml en C#.Conversion Xml UTF-8 à ISO-8859-9 en C#
Répondre
Je suggère que le moyen le plus robuste serait de le charger en tant que document XML, puis enregistrez-le avec un TextWriter
qui a un encodage de ISO-8859-9. De cette façon, vous n'avez pas à vous soucier de quoi que ce soit de spécifique au XML.
Comment voulez-vous la sortie? Dans une chaîne, un fichier, un tableau d'octets?
Étant donné que le codage n'a de sens que lorsque le texte est codé dans un flux, je suppose que vous voulez enregistrer le document dans un fichier en utilisant le codage donné. De cette façon, l'attribut de codage correspondra au codage du fichier.
Essayez:
using System.IO;
using System.Xml;
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
Stream stream = File.Open(path, FileMode.Create, FileAccess.Write, FileShare.None);
XmlWriterSettings settings = new XmlWriterSettings();
settings.Encoding = Encoding.GetEncoding("ISO-8859-9");
XmlWriter writer = XmlWriter.Create(stream, settings);
doc.Save(writer);
vous remercie de votre réponse, il est vraiment serviable pour moi. En plus de cela, j'ai remarqué que l'exemple de code ci-dessous.
string xml ="our created xml string";
HttpResponse Response = context.Response;
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/xls";
Response.Charset = "UTF-8";
Response.ContentEncoding = Encoding.GetEncoding("UTF-8");
Response.AddHeader("content-disposition", "attachment; filename=text.xml") ;
Response.Output.Write(xml);
si je change juste la propriété Charset de la réponse et ContentEncoding Propriété de réponse, Puis-je atteindre la solution? © ne changera ces deux lignes:
Response.Charset = "ISO-8859-9";
Response.ContentEncoding = Encoding.GetEncoding("ISO-8859-9");
ça fonctionne?
- 1. Conversion de XML en DataTable
- 2. Conversion Linq en XML -Dictionnaire
- 3. Autre LINQ to XML (conversion de C# en VB.NET)
- 4. linq to xml (conversion de C# en vb.net)
- 5. LINQ to XML (C# à la conversion VB.net)
- 6. Conversion numérique en C/C++
- 7. conversion vidéo en C#
- 8. Conversion de chaînes à enum en C++?
- 9. Conversion de fichiers XML de UTF-16 en UTF-8 à l'aide de PowerShell
- 10. Convertir latin1 en utf8?
- 11. Conversion d'un fichier SGM en XML existant
- 12. SetThreadLocale et UTF8
- 13. Conversion de caractères de texte simplifiés chinois GB 2312 en UTF8
- 14. Conversion d'un tableau PHP en XML?
- 15. conversion & & pour XML en PHP
- 16. Conversion de la configuration XML en annotations
- 17. Conversion de datetime XML en datetime SQL
- 18. Conversion des éléments XML aux attributs XML en utilisant XSLT
- 19. Conversion de xml à json roundtrip
- 20. Conversion de type en C#
- 21. Conversion d'événements C# en VB.NET
- 22. Opérateurs de conversion en C++
- 23. priorité de conversion en C++
- 24. SQLServer 2005 et UTF8
- 25. Conversion d'un projet de C++ en C#
- 26. Conversion de Ruby en C#
- 27. Conversion de Java en C#
- 28. Conversion de C# à VB.NET
- 29. TTCN à la conversion C
- 30. Conversion de classeur Excel 2003 en Excel 97 en C#
Cela fonctionnerait probablement. –