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 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
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
Rejoignez-nous