尝试反序列化xml文件时出现异常

时间:2009-03-23 13:59:41

标签: c# xml exception xml-serialization

我试图用XmlSerializer反序列化XML文件,但是我得到了这个例外:

  

“XML文档中存在错误(1,   2)“不良情绪是:   “<Mymessage xmlns='http://MyMessages/'>不是   预期“。

这是XML文件中的第一行。我的猜测是它与xmlns有关。

我试图询问Google,然后尝试将以下行添加到我的代码中

[XmlRoot("MyMessage", Namespace="'http://MyMessages/")]

但我仍然得到同样的例外。

3 个答案:

答案 0 :(得分:8)

在XmlSerializer的构造函数中,我需要指定一个默认的命名空间,在这之后一切正常工作

答案 1 :(得分:3)

请提供完整的XML文件代码,以便更好地了解问题。

还将此作为xml文件中的第一行,看看这是否解决了问题

 <?xml version="1.0" encoding="utf-8"?>

答案 2 :(得分:1)

听起来你有一个borked xml文件。很容易找到答案:

  • 尝试将其加载到xml viewer
  • 或者只是确保它具有.xml扩展名并在VS或IE中加载
  • 或在其上运行xsd.exe

如果他们抱怨,那么xml肯定是腐败的。 如果它们工作正常并显示您的数据,那么您可能错误地将序列化属性。尝试将xsd.exe与“/ classes”开关一起使用,看看它会用它做什么......