第一次创建序列化类的默认条目

时间:2010-03-25 23:35:40

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

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

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

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

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

<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>

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)