2009-09-08 5 views
3

Existe-t-il un moyen de forcer les éléments XML générés à partir de la sérialisation XML à être ordonnés de la même manière que dans la classe d'objets?Force les éléments XML à correspondre à l'ordre de classe lors de la sérialisation

à savoir

class SerializableClass 
{ 
    [XmlElement("Element.1")] 
    public List<string> Element1 
    { 
     get { return _Element1; } 
     set { _Element1 = value; } 
    } 
    private List<string> _Element1; 
    [XmlElement("Element.2")] 
    public int Element2; 
    [XmlElement("Element.3")] 
    public List<string> Element3 
    { 
     get { return _Element3; } 
     set { _Element3= value; } 
    } 
    private List<string> _Element3; 
    [XmlElement("Element.4")] 
    public string Element4; 
    [XmlElement("Element.5")] 
    public bool Element5; 
} 

à

<Element.1>SomeValue 1</Element.1> 
<Element.1>SomeValue 2</Element.1> 
<Element.2>12</Element.2> 
<Element.3>SomeValue 1</Element.3> 
<Element.3>SomeValue 2</Element.3> 
<Element.4>SomeString</Element.4> 
<Element.5>true</Element.5> 

Je dois l'ordre pour être exact en raison d'un validateur externe.

Répondre

4

Vous devriez être en mesure de régler la Order sur l'attribut sérialisation:

public class SerializableClass 
{ 
    [XmlElement("Element.1", Order = 1)] 
    public List<string> Element1 
    { 
     get { return _Element1; } 
     set { _Element1 = value; } 
    } 
    private List<string> _Element1; 
    [XmlElement("Element.2", Order = 2)] 
    public int Element2; 
    [XmlElement("Element.3", Order = 3)] 
    public List<string> Element3 
    { 
     get { return _Element3; } 
     set { _Element3 = value; } 
    } 
    private List<string> _Element3; 
    [XmlElement("Element.4", Order = 4)] 
    public string Element4; 
    [XmlElement("Element.5", Order = 5)] 
    public bool Element5; 
} 
+0

Merci Marc, très apprécié. J'ai aussi découvert que le fait de rendre les propriétés de tous les membres plutôt que de les mélanger semblait aussi avoir l'effet désiré. – Ryall

Questions connexes