簡體   English   中英

XML序列化-為什么我不能更改編碼?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM