这应该是一个简单的。XML序列化 - 为什么我不能更改编码?
我将C#对象的列表序列化为XML文档。一切都进行得很顺利但是我的XML文档具有ASCII编码(空格表示为X0020
例如)和客户抱怨,所以我想编码改为UTF8像这样:
private void SerializeToXML(List<ResponseData> finalXML)
{
XmlSerializer serializer = new XmlSerializer(typeof(List<ResponseData>));
TextWriter textWriter = new StreamWriter(txtFileLocation.Text, Encoding.UTF8);
serializer.Serialize(textWriter, finalXML);
textWriter.Close();
}
智能感知告诉我这应该工作...
...但是当我尝试它在抱怨......
我在做什么错?
感谢
空间的代码在ASCII和UTF-8相同的(就像在0-127范围内的所有字符)......我在这里没有看到任何问题。我认为代码正在做它应该做的事情,并且你的客户是错误的(是的,我知道,客户永远是对的......) –
Ecoding.UTF8在默认情况下在TextWriter中使用。没有必要通过ctor。 – Dennis
这些值出现在哪里?你可以给样品XML吗? – user845279