[C#] Generic list serializen - nodenamen kloppen niet

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 05-09 14:39

_Thanatos_

Ja, en kaal

Topicstarter
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:
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)
Hoe krijg ik het framework nou zover dat ie ofwel luister naar de XmlRoot attributen, ofwel op een andere manier de elementen van de list serialiseert zoals ik aangeef? De class hernoemen is helaas geen optie.

日本!🎌


Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Het is geen root, dus XmlType gebruiken... ;)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 05-09 14:39

_Thanatos_

Ja, en kaal

Topicstarter
Holy crap _/-\o_

Die kende ik helemaal niet. Wat slecht van mij zeg :)

日本!🎌