Deserialisation XML

Résolu
cs_aymen87
Messages postés
109
Date d'inscription
samedi 3 novembre 2007
Statut
Membre
Dernière intervention
4 février 2016
- Modifié par cs_aymen87 le 11/02/2015 à 18:52
cs_aymen87
Messages postés
109
Date d'inscription
samedi 3 novembre 2007
Statut
Membre
Dernière intervention
4 février 2016
- 16 févr. 2015 à 13:57
Bonjour,

Je suis en train de deserialiser un fichier XML dans un objet

<Root>
<Identity></Identity>
<CivilData lastName="Dupont" firstName="Dupont" maidenName=""><professsion>Ingénieur en informatique</professsion>
<BirthPlaceAddress>
<LocalAddress province="abc" departement="def" "/>
</BirthPlaceAddress>
</CivilData>
<Root>


coté code j'ai ceci
[Serializable]
    [XmlRoot("Root")]
    public class Membre
    {   

        [XmlElement("CivilData")]
        public CivilData CivilData;



et sous CivilData J'ai
 [Serializable]
    public class CivilData
    {
        [XmlAttribute("lastName")]
        public string lastName;

        [XmlAttribute("firstName")]
        public string firstName

        [XmlElement("BirthPlaceAddress")]
        public LocalAddress BirthPlaceAddress;


et sous Local Address j'ai

public class LocalAddress
    {
        private string _province = string.Empty;
        private string _departement = string.Empty;
       

        [XmlAttribute("province")] 
        public string Province
        {
            get { return _province; }
            set { _province = value; }
        }

        [XmlAttribute("departement")] 
        public string Departement
        {
            get { return _departement; }
            set { _departement = value; }
        }


Quand je deserialize l'objet Membre, j'ai toutes les valeur juste saud sans province et departement, elle restent vides.

Est ce que j'ai manqué quelque chose ?
Merci pour votre aide.

2 réponses

Whismeril
Messages postés
17483
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
4 juillet 2022
600
11 févr. 2015 à 19:08
Bonsoir

Je me suis souvent trouvé embêté avec xmlreader.
Depuis que j'utilise LinqToXml, je m'en sors plus facilement.
Voir ici
http://codes-sources.commentcamarche.net/forum/affich-1561684-c-et-xml#8
0
cs_aymen87
Messages postés
109
Date d'inscription
samedi 3 novembre 2007
Statut
Membre
Dernière intervention
4 février 2016

16 févr. 2015 à 13:57
Bonjour

Merci pour la réponse, le problème c'est que partout dans l'appli on a utilisé cette logique je dois continuer le même esprit donc.

J'ai trouvé la solution en fait il faut ajouter le Tag sous l'objet lui même pour qu'il soit vu lors de la deserialization
public class LocalAddress
    {
        private string _province = string.Empty;
        private string _departement = string.Empty;
       

        [XmlAttribute("province")] 
        public string Province
        {
            get { return _province; }
            set { _province = value; }
        }

        [XmlAttribute("departement")] 
        public string Departement
        {
            get { return _departement; }
            set { _departement = value; }
        }

        [XmlElement("LocalAddress")]
        public LocalAddress LocalAddress{ get; set; }



Ainsi, en ajoutant
[XmlElement("LocalAddress")]
public LocalAddress LocalAddress{ get; set; }
on a indiqué qu'il y a bien un tag LocalAdress à prendre en considération.
--
0