1

所以我试图使用来自 RestSharp 的默认 XmlDeserializer 来反序列化以下 XML 结构。对于我的生活,我根本无法让“精选”被反序列化。

<PlayerList>
   <Player>
      <PlayerName>Name</PlayerName>
      <PlayerRank>5</PlayerRank>
      <Picks>
         <PickID>1</PickID>
         <Status>Active</Status>
         <CreatedDate>2012-08-30 09:43:38</CreatedDate>
      </Picks>
      <Picks>
         <PickID>2</PickID>
         <Status>Disabled</Status>
         <CreatedDate>2012-08-30 09:49:33</CreatedDate>
      </Picks>
   </Player>
</PlayerList>

我最接近的是在“玩家”类中将它们定义为......

public class Player {
    /*other properties*/
    public List<Picks> Picks { get; set; }
}

它确实返回了一个“Picks”对象,其所有属性都设置为 null(或 DateTime 最小值)。

构造可序列化 C# 类以获取从每个 Picks 返回的数据的正确方法是什么?我想知道它是否与具有复数名称的“Picks”对象有关......

谢谢!

4

1 回答 1

2

终于明白这是什么问题了。使它起作用所需的更改是对“播放器”类进行这些更改...

public class Player {
    /* other properties */
    List<Picks> PickList { get; set; }
}

出现此问题是因为 RestSharp 感到困惑,因为属性的名称(“Picks”)与它试图反序列化的对象类型(“Picks”)相同。

于 2012-08-31T13:53:55.767 回答