XML文档中的反序列化错误(1,1)

jpr*_*est 13 c# xml-deserialization

我有一个我反序列化的XML文件,有趣的部分是使用以下代码序列化的XML文件:

enter code here
var serializer = new XmlSerializer(typeof(CommonMessage));
var writer = new StreamWriter("OutPut.txt");
serializer.Serialize(writer, commonMessage);
writer.Close();
Run Code Online (Sandbox Code Playgroud)

我试图再次反序列化以检查输出是否与输入匹配.无论如何,这是我反序列化的代码:

var serializer = new XmlSerializer(typeof(CommonMessage));
var reader = new StringReader(InputFileName);
CommonMessage commonMessage = (CommonMessage)serializer.Deserialize(reader);
Run Code Online (Sandbox Code Playgroud)

Ale*_*kov 31

用StreamReader替换StringReader,它可以正常工作.StringReader从字符串中读取值(在您的情况下是文件名).

  • 这是问题,因为流读取器/写入器使用UTF 8编码/解码,而字符串读取器/写入器编码/解码使用UTF 16 (2认同)