0

Restshap 仅在我给它一个属性名称“结果”时反序列化我的 XML 并映射到我的 List<BankStatementItemDetail>(我通过查看 response..base..content 找到了这个名称)。

XML 中的相应元素中没有名称“Results”的迹象。如果我在 XML 中使用元素名称 - BankStatementItemDetail(即 List<BankStatementItemDetail> BankStatementItemDetails),它会失败。

在其他情况下,我不得不将“列表”附加到属性名称以使其映射。我不明白 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">
4

1 回答 1

1

这就是您进行映射的方式。

[XmlElement(ElementName = "Results")]
[SerializeAs(Name = "Results")]
public string BankStatementItemDetail{ get; set; }
于 2013-05-20T15:09:13.353 回答