2012-03-29 112 views
1

我是RestSharp的新手。我在Windows Phone 7.1项目中使用它。在Windows Phone 7中使用RestSharp进行XML反序列化

我有一个类用户配置

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的响应内容?

这是我的代码:

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。 Windows Phone中的XmlSerializer。 谢谢!

回答

2

只需使用response.Data,即反序列化的对象!

+0

但没有response.Data? – Mia 2012-03-29 09:18:05

+0

如果你正在使用'client.ExecuteAsync ()',如果你没有看到Data属性,你可能会使用'client.ExecuteAsync()' – 2012-03-29 09:26:26

+0

好吧,我明白了!谢谢! – Mia 2012-03-29 09:30:27

相关问题