如何使用XmlElementAttribute for List ?
我有一个这样的课:
public class Level { [XmlAttribute] public string Guid { get; set; } } public class LevelList : List { } public class Test { public LevelList CalLevelList { get; set; } }
使用XmlSerializer,我得到这样的输出:
这在技术上是正确的。 但是,在不更改类名的情况下,我想使输出看起来像这样:
我知道这可以通过属性完成,但无法弄清楚如何。 当我向Test类添加一个属性时,如下所示:
public class Test { [XmlElement("Levels")] public LevelList CalLevelList { get; set; } }
输出非常令人惊讶:
这意味着,我丢失了父节点。 我指定的元素名称成为节点名称。 为什么这个? 如何让它工作?
试试这个:
public class Test { [XmlArray("Levels")] [XmlArrayItem("L")] public LevelList CalLevelList { get; set; } }