【发布时间】:2009-02-10 22:12:24
【问题描述】:
所以我正在处理一些我认为很可能格式不正确的 XML 文件,并且我试图弄清楚如何以及是否可以使用 XmlSerializer 将此 XML 反序列化为逻辑业务对象。假设我有以下 XML 文件:
<Root>
<ArrayType1 Name="Bob"/>
<ArrayType1 Name="Jim"/>
<ArrayType2 Name="Frank">
<SubItem Value="4"/>
</ArrayType2>
<ArrayType2 Name="Jimbo">
<SubItem Value="2"/>
</ArrayType2>
</Root>
现在我想创建一个具有这三种类型 Root、ArrayType1 和 ArrayType2 的类,但我想在 Root 中获取两个列表,一个包含 ArrayType1 项的集合,一个包含 ArrayType1 项的集合ArrayType2 项,但似乎这些项需要有某种根,例如,我知道如何反序列化以下内容就好了:
<Root>
<ArrayType1Collection>
<ArrayType1 Name="Bob"/>
<ArrayType1 Name="Jim"/>
</ArrayType1Collection>
<ArrayType2Collection>
<ArrayType2 Name="Frank">
<SubItem Value="4"/>
</ArrayType2>
<ArrayType2 Name="Jimbo">
<SubItem Value="2"/>
</ArrayType2>
</ArrayType2Collection>
</Root>
但是如果没有 ArrayType# 元素周围的父 ArrayType#Collection 元素,我将如何反序列化呢?
XML 序列化器会允许这样做吗?
【问题讨论】:
标签: c# arrays xml-serialization