Problème sérialisation XML : champs doublés ( variables + accesseurs ?? ) [Résolu]

Signaler
Messages postés
8
Date d'inscription
lundi 27 avril 2009
Statut
Membre
Dernière intervention
11 mai 2009
-
herakles66
Messages postés
8
Date d'inscription
lundi 27 avril 2009
Statut
Membre
Dernière intervention
11 mai 2009
-
<style><![CDATA[ODY{font:x-small 'Verdana';margin-right:1.5em}
.c{cursor:hand}
.b{color:red;font-family:'Courier New';font-weight:bold;text-decoration:none}
.e{margin-left:1em;text-indent:-1em;margin-right:1em}
.k{margin-left:1em;text-indent:-1em;margin-right:1em}
.t{color:#990000}
.xt{color:#990099}
.ns{color:red}
.dt{color:green}
.m{color:blue}
.tx{font-weight:bold}
.db{text-indent:0px;margin-left:1em;margin-top:0px;margin-bottom:0px;padding-left:.3em;border-left:1px solid #CCCCCC;font:small Courier}
.di{font:small Courier}
.d{color:blue}
.pi{color:blue}
.cb{text-indent:0px;margin-left:1em;margin-top:0px;margin-bottom:0px;padding-left:.3em;font:small Courier;color:#888888}
.ci{font:small Courier;color:#888888}
PRE{margin:0px;display:inline}]]></style>


Bonjour à tous !

Alors j'ai un petit soucis, et j'aurais aimé avoir vos avis eclairés à ce sujet !
Je réalise la sérialisation XML d'une classe ListKIT1300 : List<KIT1300> Elle contient des objets KIT1300 qui peuvent être VAI ou VAE par héritage. Pour implémenter ces différents objets, j'ai ajouté les lignes [XmlInclude(typeof(VAI)), XmlInclude(typeof(VAE))] dans la clase KIT1300.

Donc ça marche, youpi, j'obtiens bien un fichier xml qui contient indéferemment des VAI ou des VAE.

Le problème, c'est que mes variables apparaissent doublées dans le fichier XML !! Par exemple je vais avoir les balises

<
type
>
VAI
</
type
> et plus bas
<
Type
>
VAI
</
Type
> Donc une en minuscule, l'autre en majuscule.

Est ce que ça serialise les variables + les accesseurs ? est ce normal ? Peut -on y remedier ?

Merci d'avance !!




<?
xml version= "1.0" encoding="utf-8"

?>






[# -]
<
ArrayOfKIT1300
xmlns:xsi
="
http://www.w3.org/2001/XMLSchema-instance
"
xmlns:xsd
="
http://www.w3.org/2001/XMLSchema
"
>








[# -]
<
KIT1300
xsi:type
="
VAI
"
>








 
<
caractereCode
>
C
</
caractereCode
>








 
<
type
>
VAI
</
type
>








 
<
versionType
>
3
</
versionType
>








 
<
repere
>
GSS008DT
</
repere
>








 
<
validite
>
1234
</
validite
>








 
<
libelle
>
#GRADIENT HAUT DE PLAQUE 014ZF#
</
libelle
>








 
<
CaractereCode
>
C
</
CaractereCode
>








 
<
Type
>
VAI
</
Type
>








 
<
VersionType
>
3
</
VersionType
>








 
<
Repere
>
GSS008DT
</
Repere
>








 
<
Validite
>
1234
</
Validite
>








 
<
Libelle
>
#GRADIENT HAUT DE PLAQUE 014ZF#
</
Libelle
>








 
<
scrutation
>
3
</
scrutation
>








 
<
natureSeuilHaut
>
#H#
</
natureSeuilHaut
>








 
<
natureSeuilBas
>
-
</
natureSeuilBas
>








 


<
Scrutation
>
3
</
Scrutation
>












 
<
NatureSeuilHaut
>
#H#
</
NatureSeuilHaut
>








 
<
NatureSeuilBas
>
-
</
NatureSeuilBas
>





 </KIT1300>







 
</
ArrayOfKIT1300
>

4 réponses

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
43
Bonsoir,
Par défaut, les membres public sont sérialisés et c'est tout (avec XML).
Si il apparaît deux fois, c'est probablement que tu as une property + variable de classe publiques.

Regardes du côté de XmlIgnore()

<hr />
-Blog-
-Site Perso-
Messages postés
8
Date d'inscription
lundi 27 avril 2009
Statut
Membre
Dernière intervention
11 mai 2009

Au final j'obtiens un fichier XML tellement gros que je n'arrive pas à l'ouvrir, vu que tous les champs sont doublés :x

Quelqu'un aurait une idée du pourquoi ?
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
43
Messages postés
8
Date d'inscription
lundi 27 avril 2009
Statut
Membre
Dernière intervention
11 mai 2009

Oui ok merci beaucoup !!
Avec des "protected" et des "private" pour définir mes variables de classe ça marche mieux ;)