2012-03-29 2 views
1

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

У меня есть класс 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. Спасибо!

ответ

2

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

+0

Но нет ответа.Data? – Mia

+0

Свойство Data появляется, если вы используете 'client.ExecuteAsync ()', если вы его не видите, вероятно, используете 'client.ExecuteAsync()' –

+0

ok, я вижу это! Спасибо! – Mia

 Смежные вопросы

  • Нет связанных вопросов^_^