У меня есть следующий код:
MemoryStream ms = new MemoryStream();
XmlWriter w = XmlWriter.Create(ms);
w.WriteStartDocument(true);
w.WriteStartElement("data");
w.WriteElementString("child", "myvalue");
w.WriteEndElement();//data
w.Close();
ms.Close();
string test = UTF8Encoding.UTF8.GetString(ms.ToArray());
XML генерируется правильно; однако моя проблема в том, что первый символ строки 'test' - это (char # 239), что делает его недействительным для некоторых xml-анализаторов: откуда это берется? Что именно я делаю неправильно?
Я знаю, что могу решить проблему, просто начав после первого символа, но я бы лучше знал, почему она существует, чем просто исправляя проблему.
Спасибо!