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

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

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

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

 var serializer = new XmlSerializer(typeof(CommonMessage)); var reader = new StringReader(InputFileName); CommonMessage commonMessage = (CommonMessage)serializer.Deserialize(reader); 

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

我只是有相同的错误消息,但不同的错误来源。 如果有人像我一样有同样的问题。 我通过拆分字符串来切断我的xml字符串的第一个char 。 并且xml字符串已损坏:

 "?xml version="1.0" encoding="utf-16"?> ..." // my error " ..." // correct 

(1,1)表示第一行的第一个char基本上是不正确的 ,并且字符串不能反序列化。

在您的CommonMessage类中包含xmlroot元素标记,例如:[XmlRoot(“UIIVerificationResponse”)]