如何在.NET对象的序列化过程中创建两个XML元素?

时间:2009-04-15 16:03:16

标签: c# .net xml serialization

我有一个类,其中包含max和min值的两个属性。它看起来像这样(ish):

public class Configuration
{
  public int Max { get; set; }
  public int Min { get; set; }
}

当我序列化时,我会得到类似的内容:

<Configuration>
  <Max>10</Max>
  <Min>0</Min>
</Configuration>

但是,我需要一个额外的元素:

<Configuration>
  <Bounds>
    <Max>10</Max>
    <Min>0</Min>
  </Bounds>
</Configuration>

1 个答案:

答案 0 :(得分:3)

要做到这一点,您还需要在对象模型中引入额外的图层。 XmlSerializer喜欢xml(大致)直接映射到对象:

[Serializable]
public class Configuration {
    public Bounds Bounds { get; set; }
}
[Serializable]
public class Bounds {
    public int Min {get;set;}
    public int Max {get;set;}
}

唯一的另一个选择是实施IXmlSerializable,但除非绝对别无选择,否则你真的不想这样做。