C#&序列化:XmlArrayItem的ElementName是否有可能由对象成员值决定?

时间:2015-12-28 11:24:22

标签: c# .net serialization xml-serialization

我有两个可序列化的对象:

[Serializable]
public class A
{
    [XmlArray("Items")]
    [XmlArrayItem]
    public UnitItem[] Items{get;set;}

    ......
}

[Serializable]
public class UnitItem
{
    [XmlAttribute]
    public string Name { get; set; }

    [XmlText]
    public string Data { get; set; }
}

我可以将A序列化:

<Items>
   <UnitItem Name="AAA">balabala</UnitItem>
   <UnitItem Name="BBB">bulubulu</UnitItem>
   ......
</Items>

但现在我想创建一个XML结构,如下所示:

<Items>
    <AAA>balabala</AAA>
    <BBB>bulubulu</BBB>
   ......
</Items>

也就是说我希望ElementName的{​​{1}}是成员变量的值而不是变量的名称。我该怎么办?

如果我必须继承XmlArrayItem你能告诉我如何实施吗?

0 个答案:

没有答案