[英]NodaTime - can I change default xml serialization for Instant?
[英]XML Serialization - Why can't I change the encoding?
希望這應該很簡單。
我正在將C#對象的List <>序列化為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();
}
Intellisense告訴我這應該工作...
...但是我嘗試時抱怨...
我究竟做錯了什么?
謝謝
StreamWriter構造函數沒有(字符串,Encoding)方法簽名。
構造函數有一個(流,編碼)簽名。
這是一段像吊飾一樣工作的片段:
using (Stream stream = File.Open(SerializeXmlFileName, FileMode.Create))
{
using (TextWriter writer = new StreamWriter(stream, Encoding.UTF8))
{
XmlSerializer xmlFormatter = new XmlSerializer(this.Member.GetType());
xmlFormatter.Serialize(writer, this.Member);
writer.Close();
}
stream.Close();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.