6

WindowsPhone7.1プロジェクトでRestSharpを使用しています。

ここに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あなたがここで見ることができるように、リストを除いてすべてのプロパティは大丈夫です:

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

私はどこが間違っていますか?

4

1 に答える 1

5

次のように、デフォルトのXMLデシリアライザーをに変更する必要がありますDotNetXmlDeserializer

RestClient client;

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

XmlElement次に、次のように属性をList<timhotPhotos> 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>();
    }
}

これで正常に動作するはずです。

于 2012-04-19T11:58:12.893 に答える