【发布时间】:2019-03-31 13:44:04
【问题描述】:
我有一些 XML,其中包含两个 general 元素,每个元素都包含不同的信息。例如:
<overview>
<general> <!-- General 01 -->
<datetime></datetime>
<location></location>
</general>
<instance>
<general> <!-- General 02 -->
<instanceid></instanceid>
<instancetype></instancetype>
</general>
</instance>
<instance>
....
</instance>
</overview>
通过Xml2CSharp.com运行这个XML后,两个不同的general元素中的信息合并为一个类,例如:
[XmlRoot(ElementName="general")]
public class General {
[XmlElement(ElementName="datetime")]
public string Datetime { get; set; }
[XmlElement(ElementName="location")]
public string Location { get; set; }
[XmlElement(ElementName="instanceid")]
public string Instanceid { get; set; }
[XmlElement(ElementName="instancetype")]
public string Instancetype { get; set; }
}
是否可以为这些general 元素创建两个不同的类(因为它们各自包含不同的信息),并指定应该使用哪个?例如:
[XmlRoot(ElementName="overview/general")]
public class OverviewGeneral {
[XmlElement(ElementName="datetime")]
public string Datetime { get; set; }
[XmlElement(ElementName="location")]
public string Location { get; set; }
}
[XmlRoot(ElementName="instance/general")]
public class InstanceGeneral {
[XmlElement(ElementName="instanceid")]
public string Instanceid { get; set; }
[XmlElement(ElementName="instancetype")]
public string Instancetype { get; set; }
}
【问题讨论】:
标签: c# xml deserialization