反序列化时,XML文档中存在错误(C#)

时间:2017-12-19 12:32:31

标签: c# xml

我有以下xml:

XML

我有以下C#类

C# GlobalClass

我正在尝试将xml内容转换为C#自定义对象,如下所示:

string xmlFilePath = Android.OS.Environment.ExternalStorageDirectory.ToString() + "/Settings4/settings.xml";
XmlSerializer deserializer = new XmlSerializer(typeof(GlobalClass));
TextReader textReader = new StreamReader(xmlFilePath);
GlobalClass globalVariables;
globalVariables = (GlobalClass)deserializer.Deserialize(textReader);
textReader.Close();

但是我得到了

There is an error in XML document 

在代码行

globalVariables = (GlobalClass)deserializer.Deserialize(textReader);

我使GlobalClass继承自Application,因为我希望GlobalClass是全局的,也就是说我想在所有活动中使用它的属性。我收到错误后做错了什么?

1 个答案:

答案 0 :(得分:0)

在你的班级中添加类似[Serializable, XmlRoot("YourRoot")]的内容 使用反序列化时,可能找不到它。

来自MSDN

  

在其中生成和识别的XML根元素的名称   XML文档实例。默认值是序列化的名称   类。