【发布时间】:2021-05-25 04:03:10
【问题描述】:
我有这个 XML 文件,我正试图反序列化为 C# 对象,关闭 Tabke 标记不会显示,但除此之外:
<Table>
<ConditionSets>
<ConditionSet Name="All Coastal Exposures">
<Condition Field="State" Values="GA,FL,NC,AL"/>
<Condition Field="Client" Values="Default,ICAT,Olympus,SJIC"/>
<Condition Field="Company" Values="GM,ACME,NWGF,DSFN,DSIC"/>
<Condition Field="Product" Values="HO,FO"/>
<Condition Field="Program" Values="*"/>
<Condition Field="LineOfBusiness" Values="HO,FO,DF,IM"/>
<Condition Field="TransactionType" Values="NB,RN,CH,RR,RW,RE"/>
<Condition Field="TransactionMode" Values="Q,A"/>
<Condition Field="UserType" Values="A,E"/>
<Condition Field="Process" Values="Q,R,I"/>
<Condition Field="Environment" Values="DEV,QA,UAT,PROD"/>
<Condition Field="System" Values="BASE,SBIC,DSFM,NCIC"/>
<Condition Field="Page" Values="Applicant,Completion"/>
<Condition Field="Expression" Values="PolTransPolicy.BillingMethodCd='D'"/>
</ConditionSet>
<ConditionSet Name="Midwest Region">
<Condition Field="State" Values="IL,IO,WI,MI,MN"/>
<Condition Field="Client" Values="*"/>
<Condition Field="Company" Values="GMIC,BMIC"/>
<Condition Field="Product" Values="HO,FO,DF"/>
<Condition Field="Program" Values="*"/>
<Condition Field="LineOfBusiness" Values="HO,FO,DF,IM,PU"/>
<Condition Field="TransactionType" Values="NB,RN,CH,RR,RW,RE"/>
<Condition Field="TransactionMode" Values="Q,A"/>
<Condition Field="UserType" Values="A,E"/>
<Condition Field="Process" Values="Q,R,I"/>
<Condition Field="Environment" Values="DEV,QA"/>
<Condition Field="System" Values="BASE,GMIC,BMIC"/>
<Condition Field="Page" Values="*"/>
<Condition Field="Expression" Values="PolTransPolicy.BillingMethodCd='D'"/>
</ConditionSet>
</ConditionSets>
我似乎无法正确反序列化它,因为它是一个列表列表。如何在 C# 对象中正确设置它以进行反序列化?
这是我用来反序列化的类
[XmlRoot("Table")]
public class Table
{
[XmlArray("ConditionSets")]
[XmlArrayItem("ConditionSet")]
public List<ConditionSet> ConditionSets { get; set; }
}
public class ConditionSet
{
[XmlAttribute("Name")]
public string Name { get; set; }
[XmlArray("Conditions")]
[XmlArrayItem("Condition")]
public List<Condition> Conditions { get; set; }
}
public class Condition
{
[XmlAttribute("Field")]
public string Field { get; set; }
[XmlAttribute("Values")]
public string Values { get; set; }
}
【问题讨论】:
-
你能解释一下你到目前为止所做的尝试吗?
-
嗨,Austin,欢迎来到 StackOverflow。可以详细说明你的问题吗?您面临什么问题?列表中的列表在哪里?另外,分享您尝试反序列化的类。
标签: c# xml asp.net-core xml-deserialization