读取已更改数据类型的XML

时间:2015-04-08 23:54:46

标签: c# xml serialization

我有一个C#程序正在创建一个深度嵌套的List。我正在序列化(XML)列表以保存程序中的所有用户输入,并且我能够对文件进行反序列化(XML)以恢复列表中的用户输入。

序列化列表后,我最近将程序中的几个变量从布尔值更改为用户定义的类型,因为true / false未正确定义其属性。

现在当我尝试反序列化文件时,我得到一个异常,说明我没有变量的有效值。这使得总计有意义。

问题是我的代码中是否可以执行某些操作,以便在类型不匹配时反序列化将使用当前默认值。目前我根本无法阅读该文件。

下面是我反序列化文件的代码。

xmlserializer = new XmlSerializer(Type.GetType(strCampusType), GlobalClass.objRunApplication.m_ListOfSerializableTypes.ToArray());
stream = File.OpenRead(strFileName);
try
{
  objCampusCopy = (CAMPUS)xmlserializer.Deserialize(stream);      
  if (objCampusCopy != null)
  {...}
}
catch {}

1 个答案:

答案 0 :(得分:0)

您可以尝试按如下方式归因于相关字段:

[OptionalField]

此处有更多信息 - https://msdn.microsoft.com/en-us/library/ms229752(v=vs.110).aspx