Я хочу иметь возможность записывать XML в строку с объявлением и в кодировке UTF-8. Это кажется очень сложным для выполнения.
Я немного читал и пробовал некоторые из популярных ответов на этот вопрос, но все они имеют проблемы.
Мне удалось заставить это работать, добавив настройки XmlTextWriter
... Хотя это кажется ОЧЕНЬ неуклюжим!
MemoryStream ms = new MemoryStream();
XmlWriterSettings settings = new XmlWriterSettings();
settings.Encoding = Encoding.UTF8;
settings.ConformanceLevel = ConformanceLevel.Document;
settings.Indent = true;
using (XmlWriter xw = XmlTextWriter.Create(ms, settings))
{
xml.Save(xw);
xw.Flush();
StreamReader sr = new StreamReader(ms);
ms.Seek(0, SeekOrigin.Begin);
String blah = sr.ReadToEnd();
}