在C#XmlSerializer中使用一个XML标记处理多个字段

时间:2012-10-01 01:15:25

标签: c# xml serialization

我有一个XML代码段,如下所示:

<object>
  <field name="p1">Foo</field>
  <field name="p2">Bar</field>
  <field_list name="p3">
    <field_value>Me</field_value>
    <field_value>Myself</field_value>
    <field_value>I</field_value>
  </field_list>
</object>

我想要做的是在C#中将其表示为字典 - 键是名称(p1,p2,p3),值是字符串列表 - 前两个(p1,p2)将具有单个元素和第三个元素(p3)将有三个元素。

需要对此Xml文档进行反序列化。我怎么能这样做并最终得到所需的对象?

1 个答案:

答案 0 :(得分:1)

XmlSerializer类本身并不序列化Dictionary。但是,有第三方序列化程序可用,例如sharp serializerone from Peter Welter

如果您想在没有其他库的情况下自己实现它,请实现IXmlSerializable并提供ReadXml和WriteXml的自定义实现。

另见: