PERSONNALISER LA SERIALIZATION XML AVEC LES ATTRIBUTS

Signaler
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008
-
Messages postés
16041
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 juin 2021
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/41632-personnaliser-la-serialization-xml-avec-les-attributs

Messages postés
16041
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 juin 2021
551
Ha j'ai oublier de préciser que ma collection de diplome est un champ de Student ou de Person dans ton exemple.
Merci
Messages postés
16041
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 juin 2021
551
Bonjour, j'utilise cette source depuis un moment, mais je n'ai pas réussi à sérialiser une classe contennant une collection d'une autre classe.
Par exemple une classe Diplomes contenant le nom du diplome, la date d'optention, la note et la mention.

Si cette collection est déclarée
[XmlArrayItem(typeof(Diplome))]
[XmlArray("Diplomes", IsNullable = true)]
List<Diplome> ça plante.

Si j'essaye de sérialiser Diplome[] là il ne se passe rien.

J'ai donc contourné le pb en sérialisant un tableau par champ:
string[] Nom
DateTime[] Date
Double[] Note
etc.

Mais c'est vite laoborieux de générer chaque tableau à partir de ma collection quand le nombre de champs s'agrandit.

Y a t il une solution?

Cdt
Messages postés
26
Date d'inscription
mercredi 5 mars 2003
Statut
Membre
Dernière intervention
11 mai 2011
2
Bonjour à tous, voici ma question comment on fait pour utiliser un XMLSerializer et une classe internal. Laisser de côté la réponse "Ben sa se fait pas, mais la public"; Je recherche une vrai solution même si elle consiste de recréer à bras un XMLSerializer à bras...

Merci
Messages postés
276
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
22 décembre 2008

Peut-être une solution pas très catholique mais bon, une propriété zOnDeSeriablize qui serait forcément sérialisée et qui donc serait settée, ce qui te permetera de savoir que l'objet a été créé par le sérialiseur et que toutes ces propriétés sont désomais prêtes...

Bon faut aussi s'assurer que cette propriété n'est pas appelée par un développeur, faudrait donc voir ce qu'il est possible de faire ou pas avec cette technique..
Afficher les 26 commentaires