Десериализация XML с помощью RestSharp в Windows Phone 7 - PullRequest
1 голос
/ 29 марта 2012

Я новичок в RestSharp. И я использую его в своем проекте Windows Phone 7.1.

У меня есть класс UserProfile :

public class UserProfile
{
    public string UserId {get; set}
    public string Phone {get; set}        
    public string Email {get; set}
    public string Firstname {get; set}
    public string Lastname {get; set}
    public bool Sex {get; set}
    public string Status {get; set}
    public DateTime CreatedDate {get; set}
    public string Online {get; set}
    public string Role {get; set}
    public string AppId {get; set}
    public string AppName {get; set}
    public string Token {get; set}      
}

Я использую RestSharp для отправки запроса Http и получения ответа в формате XML (соответствует классу UserProfile). Как я могу десериализовать содержимое ответа в UserProfile?

Это мой код:

RestClient client = new RestClient("http://myaddress");
RestRequest request = new RestRequest(Method.POST);
request.RequestFormat = DataFormat.Xml;
//...
//add parameters
//...

client.ExecuteAsync<UserProfile>(request, (response) =>   // <--------- right?
{
    try
    {
        MessageBox.Show(response.Content);     //returned content is correct

        DotNetXmlDeserializer des = new DotNetXmlDeserializer();
        //UserProfile up = des.Deserialize<UserProfile>(...     <------- HOW ?

    }
    catch (Exception e)
    {
        MessageBox.Show(e.Message);
    }
});

Обратите внимание, что System.Xml.Serialization отсутствует. XmlSerializer в Windows Phone. Спасибо!

1 Ответ

2 голосов
/ 29 марта 2012

Просто используйте response.Data, то есть десериализованный объект!

...