我有以下代码:
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”的第一个字符是ï(字符#239),这使得它对某些xml解析器无效:这是从哪里来的?我到底做错了什么?
我知道我可以通过在第一个字符之后开始来解决问题,但我宁愿知道为什么会出现这个问题,而不是简单地修补问题。
Thanks!
在这里找到了一种解决方案:https://timvw.be/2007/01/08/generating-utf-8-with-systemxmlxmlwriter/ https://timvw.be/2007/01/08/generating-utf-8-with-systemxmlxmlwriter/
我在顶部错过了这个:
XmlWriterSettings xmlWriterSettings = new XmlWriterSettings();
xmlWriterSettings.Encoding = new UTF8Encoding(false);
MemoryStream ms = new MemoryStream();
XmlWriter w = XmlWriter.Create(ms, xmlWriterSettings);
感谢大家的帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)