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

时间:2011-01-18 16:06:26

标签: 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();

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

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

3 个答案:

答案 0 :(得分:30)

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

答案 1 :(得分:1)

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

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

(1,1)表示第一行的第一个字符不正确,字符串无法反序列化。

答案 2 :(得分:0)

在您的CommonMessage类中包含xmlroot元素标记,例如:[XmlRoot(&#34; UIIVerificationResponse&#34;)]