Désérialisation XML Tableau d'Éléments

Donc, la désérialisation de travail est cependant j'ai un peu de xml comme ceci:

<File>
  <Stuff>stuff</Stuff>
  <Devices>
    <Device Type="1">
      <Number>1</Number>
    </Device>
    <Device Type="2">
      <Number>2</Number>
    </Device>
  </Devices>
</File>

Quand il arrive à l'éventail de dispositifs... le premier dispositif est le seul qui est renseigné dans un objet. Voici les catégories:

            XmlSerializer deserializer;
            XmlRootAttribute xRoot = new XmlRootAttribute();
            FileStream stream = new FileStream(CONFIG_PATH, FileMode.Open);
            XmlReader reader = new XmlTextReader(stream);

            //Details configuration area.
            xRoot.ElementName = "File";
            xRoot.IsNullable = true;
            deserializer = new XmlSerializer(typeof(File), xRoot);
            Configuration = (File)deserializer.Deserialize(reader);

[Serializable()]
[XmlRoot(ElementName = "File", IsNullable = true)]
public sealed class File
{
    [XmlElement("Devices")]
    public Devices Devices { get; set; }
}

//<summary>
///Configuration device elements.
///</summary>
[Serializable()]
[XmlRoot("Devices", IsNullable = true)]
public sealed class Devices
{
    [XmlElement("Device")]
    public DeviceElements[] DeviceElements { get; set; }
}

///<summary>
///Configuration Devices.
///</summary>
[Serializable()]
[XmlRoot("Device", IsNullable = true)]
public sealed class DeviceElements
{
    [XmlAttribute("Type")]
    public string DeviceType { get; set; }

    [XmlElement("Number")]
    public int DeviceNumber { get; set; }
}

Encore une fois, seul le premier Appareil est rempli, j'ai joué avec XmlArray Et XmlArrayItem cependant aucun d'entre eux étaient même de me donner la première valeur. Des suggestions?

Avez-vous essayé de prendre toutes les "XmlElement" et "XmlRoot" attributs? Je trouve sérialisation fonctionne mieux quand je laisser les choses seul, autant que possible, et de laisser le cadre de tri pour moi.
Il n'a même pas de désérialiser si je les prends.
Essayez cette suggestion: stackoverflow.com/questions/534451/...
Chaque élément de Périphérique doit être explicitement appelé Appareil. Un périphérique peut être un nombre illimité d'éléments dans les Dispositifs de l'élément. La suggestion ci-dessus ne fonctionne pas dans mon cas.
Bonne chance ! Espérons que vous le comprendre.

OriginalL'auteur bl4kh4k | 2011-08-11