【问题标题】:Default entries on a first time creation for a serialized class首次创建序列化类时的默认条目
【发布时间】:2010-03-25 23:35:39
【问题描述】:

我有一个类用于序列化我正在处理的应用程序的各种配置选项。我正在向作为 List 的类添加一个新属性,如果它在 XML 文件中不存在,我希望它填充这个列表。我的第一个想法是检查列表是否包含零项,但是这是不可接受的,因为有时我希望列表中包含零项。本质上,我希望将已使用同一类的旧版本序列化的文件“升级”并为新属性自动插入默认值。我怎样才能做到这一点?有关我正在尝试做的更直观的示例,请参见下文:

当我反序列化包含以下内容的 XML 文件时:

<Item1>wtfe</Item1>
<Item2>wtfe</Item2>

在我添加了一个列表属性后,它将序列化为:

<Item1>wtfe</Item1>
<Item2>wtfe</Item2>
<Item3/>

我希望它序列化为:

<Item1>wtfe</Item1>
<Item2>wtfe</Item2>
<Item3>
   <DefaultSubItem/ Field="wtfe">
   <DefaultSubItem/ Field="wtfe">
</Item3>

但请允许我将其更改为:

<Item1>wtfe</Item1>
<Item2>wtfe</Item2>
<Item3></Item3>

【问题讨论】:

    标签: c# .net xml serialization xml-serialization


    【解决方案1】:
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-05
      • 2016-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多