Кодировка в xml используя StringWriter - C#
Формулировка задачи:
Есть вот такой вот пример...
При использовании MemoryStream получаем
при использовании StringWriter
И что самое интересное: в Settings какого-то дьявола вообще стоит юникод.
static void Main(string[] args) { string result; Encoding utf8noBOM = new UTF8Encoding(false); XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; settings.Encoding = utf8noBOM; //using (MemoryStream output = new MemoryStream()) using (var output = new StringWriter()) { using (XmlWriter writer = XmlWriter.Create(output, settings)) { writer.WriteStartDocument(); writer.WriteStartElement("Colors"); writer.WriteElementString("Color", "RED"); writer.WriteEndDocument(); } //result = Encoding.Default.GetString(output.ToArray()); result = output.ToString(); } Console.WriteLine(result); Console.ReadKey(); }
<?xml version="1.0" encoding="utf-8"?> <Colors> <Color>RED</Color> </Colors>
<?xml version="1.0" encoding="utf-16"?> <Colors> <Color>RED</Color> </Colors>
Решение задачи: «Кодировка в xml используя StringWriter»
textual
Листинг программы
private static volatile UnicodeEncoding m_encoding;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д