如何使用Restsharp反序列化Xml列表?

我有这样的xml

   1 1  1  0   2 1  2  0  ...  

我想将这个xml列表反序列化为POCO对象

 public class Account { public string AccountId { get; set; } public string AccountTypeId { get; set; } public string AccountTypeName { get; set; } public string AccountBankId { get; set; } public string AccountBankName { get; set; } public string AccountSaldo { get; set; } } 

我找到了很棒的产品RestSharp与rest客户端一起工作。 我想使用它的解串器,我尝试了两种方法。

1)我试过了

request.RootElement = "item";

var response = Execute(request);

而我只有第一个符合逻辑的Item元素。

2)当我尝试类似的东西时

request.RootElement = "xml";

var response = Execute<List>(request);

我没了。

我错在哪里?

更新 :解决方案在接受的答案评论中

如果将Account类重命名为Item并使用Execute>(request)它应该可以工作。 您无需指定RootElement值。

不知道出了什么问题,但我确信John会很快告诉你:-)同时,为什么不用手工方式呢:

  var root = XElement.Parse(xmlString); var accounts = from it in root.Element("xml").Elements("item") select new Account() { AccountId = it.Element("accountid").Value, AccountTypeId = it.Element("accounttypeid").Value, AccountTypeName = it.Element("accounttypename").Value, AccountBankId = it.Element("banktypeid").Value, AccountBankName = it.Element("banktypename").Value, AccountSaldo = it.Element("accountsaldo").Value }; 

使用XLinq,它非常干净。 通过向XElement添加一些扩展方法,您可以使其更加清晰,并且可以恢复缺少的元素/属性。