這應該是一個簡單的。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