I have an xml like this
<?xml version="1.0" encoding="utf-8"?>
<xml>
<item>
<accountid>1</accountid>
<accounttypeid>1</accounttypeid>
<accounttypename/>
<accountbankid>1</accountbankid>
<accountbankname/>
<accountsaldo>0</accountsaldo>
</item>
<item>
<accountid>2</accountid>
<accounttypeid>1</accounttypeid>
<accounttypename/>
<accountbankid>2</accountbankid>
<accountbankname/>
<accountsaldo>0</accountsaldo>
</item>
...
</xml>
I want to deserialize this xml list to POCO object which is
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; }
}
I found great product RestSharp for working with rest client. I want to use its deserializer and I tried 2 approaches.
1) I tried
request.RootElement = "item";
var response = Execute<Account>(request);
and I only got first Item element which is logical.
2) When I try something like
request.RootElement = "xml";
var response = Execute<List<Account>>(request);
I got null.
Where am I wrong with this?
UPDATE: The solution is in accepted answer comments
It should work if you rename the Account
class to Item
and use Execute<List<Item>>(request)
. You don't need to specify a RootElement value.