XmlWriter encoding issues
Found one solution here: https://timvw.be/2007/01/08/generating-utf-8-with-systemxmlxmlwriter/
I was missing this at the top:
XmlWriterSettings xmlWriterSettings = new XmlWriterSettings();
xmlWriterSettings.Encoding = new UTF8Encoding(false);
MemoryStream ms = new MemoryStream();
XmlWriter w = XmlWriter.Create(ms, xmlWriterSettings);
Thanks for the help everyone!
The problem is that your the XML generated by the writer is UTF-16 while you use UTF-8 to convert it to string. Try this instead:
StringBuilder sb = new StringBuilder();
using (StringWriter writer = new StringWriter(sb))
using (XmlWriter w = XmlWriter.Create(writer))
{
w.WriteStartDocument(true);
w.WriteStartElement("data");
w.WriteElementString("child", "myvalue");
w.WriteEndElement();//data
}
string test = sb.ToString();