Deserialisation XML [Résolu]

Signaler
Messages postés
109
Date d'inscription
samedi 3 novembre 2007
Statut
Membre
Dernière intervention
4 février 2016
-
Messages postés
109
Date d'inscription
samedi 3 novembre 2007
Statut
Membre
Dernière intervention
4 février 2016
-
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

Messages postés
16031
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 juin 2021
550
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
Messages postés
109
Date d'inscription
samedi 3 novembre 2007
Statut
Membre
Dernière intervention
4 février 2016

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.
--