Restsharp: Não é possível desserializar XML para uma lista?

Criado em 19 abr. 2012  ·  3Comentários  ·  Fonte: restsharp/RestSharp

Oi, eu uso RestSharp no meu projeto Windows Phone 7.1.

Eu tenho uma resposta em formato XML aqui:
https://skydrive.live.com/redir.aspx?cid=0b39f4fbbb0489dd&resid=B39F4FBBB0489DD!139 &parid=B39F4FBBB0489DD!103&authkey=!AOdT-FiS6Mw8v5Y

Eu tentei desserializar essa resposta para uma classe:

public class fullWall
{
    public _user user { get; set; }
    public int numberOfFriend { get; set; }
    public int numberOfPhoto { get; set; }
    public List<timhotPhotos> timhotPhotos { get; set; }
    public fullWall()
    {
        timhotPhotos = new List<timhotPhotos>();
    }
}

Todas as propriedades estão ok, exceto a lista timhotPhotos , como você pode ver aqui:

GitHub Logo

classe timhotPhotos:

public class timhotPhotos
{
    public string id { get; set; }
    public string title { get; set; }
    public string description { get; set; }
    public string url { get; set; }
    public double width { get; set; }
    public double height { get; set; }
    public DateTime createdDate { get; set; }
    public _user user { get; set; }
    public int numOfComment { get; set; }
    public int numOfRate { get; set; }
    public int numOfView { get; set; }
    public bool rated { get; set; }
}

Onde estou errado?

Comentários muito úteis

Ah, obrigado :)

Ps: tenho 21 anos, prazer em conhecê-lo :)

Todos 3 comentários

Vi sua pergunta no StackOverflow, respondida lá, agora copiando minha resposta para aqui:

Você terá que alterar o desserializador XML padrão para o DotNetXmlDeserializer, assim:

RestClient client;

client.AddHandler("application/xml", new DotNetXmlDeserializer());

Em seguida, adicione o atributo XmlElement à listapropriedade timhotPhotos como esta:

public class fullWall
{
    public _user user { get; set; }
    public int numberOfFriend { get; set; }
    public int numberOfPhoto { get; set; }
    [System.Xml.Serialization.XmlElement()]
    public List<timhotPhotos> timhotPhotos { get; set; }
    public fullWall()
    {
        timhotPhotos = new List<timhotPhotos>();
    }
}

Agora deve funcionar bem!

E já que você aceitou a resposta no StackOverflow, vou prosseguir e encerrar este problema! ;)

Ah, obrigado :)

Ps: tenho 21 anos, prazer em conhecê-lo :)

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

weswitt picture weswitt  ·  3Comentários

nilsga picture nilsga  ·  5Comentários

ChenJasonGit picture ChenJasonGit  ·  5Comentários

maximuss picture maximuss  ·  3Comentários

qJake picture qJake  ·  7Comentários