1

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

4

1 回答 1

2

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

于 2012-03-29T09:13:23.560 回答