Restsharp: Не удается десериализовать XML в список?

Созданный на 19 апр. 2012  ·  3Комментарии  ·  Источник: restsharp/RestSharp

Привет, я использую RestSharp в своем проекте Windows Phone 7.1.

У меня есть ответ в формате XML здесь:
https://skydrive.live.com/redir.aspx?cid=0b39f4fbbb0489dd&resid=B39F4FBBB0489DD!139 &parid=B39F4FBBB0489DD!103&authkey=!AOdT-FiS6Mw8v5Y

Я попытался десериализовать этот ответ на класс:

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>();
    }
}

Все свойства в порядке, кроме списка timhotPhotos , как вы можете видеть здесь:

GitHub Logo

класс 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; }
}

Где я не прав?

Самый полезный комментарий

Ой ну спасибо :)

Ps: мне 21 год, приятно познакомиться :)

Все 3 Комментарий

Увидел ваш вопрос в StackOverflow, ответил там, теперь копирую свой ответ сюда:

Вам придется изменить десериализатор XML по умолчанию на DotNetXmlDeserializer, например:

RestClient client;

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

Затем добавьте атрибут XmlElement в список.Свойство timhotPhotos выглядит следующим образом:

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>();
    }
}

Теперь должно работать нормально!

И поскольку вы приняли ответ в StackOverflow, я просто закрою этот вопрос! ;)

Ой ну спасибо :)

Ps: мне 21 год, приятно познакомиться :)

Была ли эта страница полезной?
0 / 5 - 0 рейтинги