我曾经是这样做的:
MemoryStream ms = new MemoryStream();
XmlTextWriter writer = new XmlTextWriter(ms, Encoding.UTF8);
...
writer.Indentation = 4;
writer.Formatting = Formatting.Indented;
writer.WriteStartDocument();
writer.WriteStartElement("root");
...
writer.Flush();
writer.Close();
string xmlString = Encoding.UTF8.GetString(ms.ToArray());
总是不成功,后来才明白,不能用 Encoding.UTF8,正确的应该是这样:
MemoryStream ms = new MemoryStream();
XmlTextWriter writer = new XmlTextWriter(ms, new UTF8Encoding(false));
相关阅读