Ik heb een class die afgeleid is van een generic List en die moet geserialized worden naar XML. Nu klopt het bijna: de nodenamen van de elementen van de list zijn nog gelijk aan hun klassenamen, terwijl ik er een andere naam aan wil geven. Dat laatste wil maar niet lukken. Zie mijn code:
Ik had verwacht dat hier zoiets uit zou komen:
Maar in plaats van Wiki elementen, maakt hij er WikiSettings elementen van.
Wat heb ik al geprobeerd:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| [Serializable] [XmlRoot("Wikis")] public class WikiSettingsList: List<WikiSettings> { //... [XmlElement("Wiki")] public new WikiSettings this[int index] { get { return base[index]; } set { base[index] = value; } } //... } [Serializable] [XmlRoot("Wiki")] public class WikiSettings { //... } |
Ik had verwacht dat hier zoiets uit zou komen:
XML:
1
2
3
4
| <Wikis> <Wiki .../> <Wiki .../> </Wikis> |
Maar in plaats van Wiki elementen, maakt hij er WikiSettings elementen van.
Wat heb ik al geprobeerd:
- Een [XmlRoot("Wiki")] aan de WikiSettings class toevoegen
- Een [XmlArrayItem("Wiki")] aan de default property toevoegen en [XmlElement] weghalen
- Een [XmlArrayItem("Wiki")] aan de WikiSettingsList class toevoegen (maar dat compileert natuurlijk niet)
- Een [XmlElement("Wiki")] aan de WikiSettings class toevoegen (maar dat compileert ook niet)
日本!🎌