RestSharp - 列出<t> XmlDeserialize属性名称映射</t>

时间:2013-04-04 22:22:22

标签: restsharp

仅限Restshap反序列化我的XML并映射到我的List&lt; BankStatementItemDetail&gt;什么时候 我给它一个属性名称'结果'(我通过查看response..base..content找到了这个名字)。

XML中相应元素中没有“Results”这个名称的迹象。如果我在中使用元素名称 它失败了XML - BankStatementItemDetail(即List&lt; BankStatementItemDetail&gt; BankStatementItemDetails)。

在其他情况下,我不得不将'List'附加到属性名称以使其映射。 我不明白List属性名称映射。他们是否记录了我的文件 看到没有提到名为'结果'的财产。

任何人都可以为我阐明规则吗?

我的结构

public class BankStatementItemList
{
    public double openingBalance;
    public List<=BankStatementItemDetail=> Results { get; set; }
    public class BankStatementItemDetail
    {
        public string Id { get; set; }
        public Fund Fund { get; set; }
        public BankAccount BankAccount { get; set; }
        public DateTime TransactionDate { set; get; }
        public String DebitCreditIndicator { set; get; }
        public String LodgementReference { set; get; }
        // not in the xml
        public Double Debit { set; get; }
        public Double Credit { set; get; }
        public Double Balance { set; get; }
    }
    public class BankAccount
    {
        public string Code { get; set; }
        public string ScopeCode { get; set; }
        public string Description { get; set; }
    }
    public class Fund
    {
        public string Code { get; set; }
        public string ScopeCode { get; set; }
        public string Description { get; set; }
    }
}

一些XML

<BankStatementItemList xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<BankStatementItemDetail Key="95eb97a7-9be4-4d95-be47-ef2113414bf5">...</BankStatementItemDetail>
<BankStatementItemDetail Key="fd414e7f-5f12-4414-94eb-11ab4a6b5f7b">...</BankStatementItemDetail>
<BankStatementItemDetail Key="c7ed29dd-ef4a-4def-a486-60f5c6ac4253">

1 个答案:

答案 0 :(得分:1)

这是您进行映射的方式。

[XmlElement(ElementName = "Results")]
[SerializeAs(Name = "Results")]
public string BankStatementItemDetail{ get; set; }