IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

XmlSerializer - List d'entit�


Sujet :

C#

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    73
    D�tails du profil
    Informations personnelles :
    �ge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 73
    Par d�faut XmlSerializer - List d'entit�
    Bonjour,

    Soit le XML simplifi� suivant

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
      <WhereFilter>
     
        <FilterGroup ID="Racine">
        </FilterGroup>
     
        <Filter ID="MF1FILTRE1">
        </Filter>
     
        <FilterGroup ID="MF1GROUPE1">
        </FilterGroup>
     
        <Filter ID="MF1FILTRE2">
        </Filter>
     
        <Filter ID="MF1FILTRE3">
        </Filter>
     
      </WhereFilter>
    et la class c# pour le d�s�rialiser

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        [XmlRoot(ElementName = "WhereFilter", Namespace = "")]
        public class WhereFilter
        {
            [XmlElement(ElementName = "FilterGroup", Namespace = "")]
            public List<FilterGroup> FilterGroup;  
     
            [XmlElement(ElementName = "Filter", Namespace = "")]
            public List<Filter> Filter;
        }
    il y a 2 listes d'objet. Dans le principe �a foncionnne sauf que lors de l'�criture il me met en 1er les FilterGroup puis les Filter.
    Comme �a
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
      <WhereFilter>
     
        <FilterGroup ID="Racine">
        </FilterGroup>
     
        <FilterGroup ID="MF1GROUPE1">
        </FilterGroup>
     
        <Filter ID="MF1FILTRE1">
        </Filter>
     
        <Filter ID="MF1FILTRE2">
        </Filter>
     
        <Filter ID="MF1FILTRE3">
        </Filter>
     
      </WhereFilter>
    Ce qui est normal.

    Je voudrais conserver l'ordre initial.

    Avez une id�e de comment je pourrait d�clarer ma class pour faire �a.

    Merci

  2. #2
    Expert confirm�
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 988
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Analyste programmeur Delphi / C#
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 988
    Par d�faut
    https://stackoverflow.com/questions/...specific-order

    Edit :
    Mais, je pense que �a va bloquer car tu as plusieurs filtres pour un groupe.
    Une autre solution consiste � avoir une unique collection et � la remplir dans le bon ordre.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    [XmlRoot(ElementName = "WhereFilter")]
    public class WhereFilter
    {
        [XmlElement("FilterGroup", typeof(FilterGroup))]
        [XmlElement("Filter", typeof(Filter))]
        public List<object> Items { get; set; }
    }
    Sinon, changer la structure pour quelque chose de plus naturel:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <WhereFilter>
        <FilterGroup ID="Racine">
            <Filter ID="MF1FILTRE1">
            </Filter>
        </FilterGroup>  
        <FilterGroup ID="MF1GROUPE1">
            <Filter ID="MF1FILTRE2">
             </Filter>
             <Filter ID="MF1FILTRE3">
             </Filter>
          </FilterGroup>
      </WhereFilter>

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    73
    D�tails du profil
    Informations personnelles :
    �ge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 73
    Par d�faut
    Merci mais au final j'ai trouv� plus simple.
    Pour info je suis en .Net 4.8.

    au niveau du root j'ai fait une liste d'objet
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    [XmlElement(ElementName = "WhereFilter", Namespace = "")]
    public List<object> WhereFilter;
    ensuite pour la class WhereFilter j'ai fait mes 2 listes
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    [XmlRoot(ElementName = "WhereFilter", Namespace = "")]
        public class WhereFilter
        {
            [XmlElement(ElementName = "FilterGroup", Namespace = "")]
            public List<FilterGroup> FilterGroup;
     
            [XmlElement(ElementName = "Filter", Namespace = "")]
            public List<Filter> Filter;
        }

    Ensuite System.Xml.Serialization se d�brouille tout seul.
    Ca donne �a
    Nom : XMLTest.png
Affichages : 38
Taille : 10,1 Ko

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. XmlSerializer en framework 1.1
    Par Spidermeu dans le forum C#
    R�ponses: 24
    Dernier message: 29/09/2008, 09h15
  2. OutputFormat et XMLSerializer d�pr�ci�s
    Par XSeb74 dans le forum Format d'�change (XML, JSON...)
    R�ponses: 1
    Dernier message: 28/05/2008, 14h29
  3. XMLSerializer : Erreur lors de la s�rialisation
    Par 0xYg3n3 dans le forum ASP.NET
    R�ponses: 3
    Dernier message: 01/11/2007, 11h47
  4. [C#] XmlSerializer : erreur d'execution
    Par xtream dans le forum Windows Forms
    R�ponses: 8
    Dernier message: 19/09/2006, 01h07
  5. [NoClassDefFoundError] XMLSerializer
    Par sderecourt dans le forum Eclipse Java
    R�ponses: 1
    Dernier message: 27/04/2006, 11h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo