Les problèmes de la désérialisation Liste des objets

J'ai du mal à la désérialisation d'une liste d'objets. Je peux obtenir qu'un seul objet à sérialiser un objet, mais ne peut pas obtenir la liste. Je n'obtiens pas d'erreur, elle retourne une Liste vide. C'est le XML qui revient:

<locations>
   <location locationtype="building" locationtypeid="1">
     <id>1</id>
     <name>Building Name</name>
     <description>Description of Building</description>
   </location>
</locations>

C'est la classe que j'ai et je suis de la désérialisation dans le GetAll méthode:

[Serializable()]
[XmlRoot("location")]
public class Building
{
    private string method;

    [XmlElement("id")]
    public int LocationID { get; set; }
    [XmlElement("name")]
    public string Name { get; set; }
    [XmlElement("description")]
    public string Description { get; set; }
    [XmlElement("mubuildingid")]
    public string MUBuildingID { get; set; }

    public List<Building> GetAll()
    {
        var listBuildings = new List<Building>();
        var building = new Building();
        var request = WebRequest.Create(method) as HttpWebRequest;
        var response = request.GetResponse() as HttpWebResponse;

        var streamReader = new StreamReader(response.GetResponseStream());
        TextReader reader = streamReader;
        var serializer = new XmlSerializer(typeof(List<Building>), 
            new XmlRootAttribute() { ElementName = "locations" });
        listBuildings = (List<Building>)serializer.Deserialize(reader);

        return listBuildings;
    }
}
  • Qu'est-ce que l'erreur obtenez-vous?
  • Quelle liste n'êtes-vous pas voir sérialisé? Si c'est le GetAll() méthode, c'est parce que sérialiseurs ne sont pas (ainsi, éventuellement, rarement, je suppose) dans l'entreprise d'invoquer les méthodes de la classe. Ils sont dans l'entreprise de préserver une propriété de l'objet de valeurs.
  • Je ne suis pas une erreur, c'est juste de retour d'une liste vide. Je n'essaie pas de Sérialiser les GetAll Méthode, je suis l'aide de la Méthode pour Obtenir Tous désérialiser à partir d'un webservice et de la remplir de construction de l'objet.
InformationsquelleAutor Andy Xufuris | 2013-08-21