我有以下XElement
<Issue Type="Duplicate" Distance="1">
<Record>
<ID>6832</ID>
<Name_First>JAMES </Name_First>
<Name_Last>SMITH</Name_Last>
<Company>SMITH CO.</Company>
</Record>
<Record>
<ID>6831</ID>
<Name_First>JAMES</Name_First>
<Name_Last>SMITH</Name_Last>
<Company>SMITH CO.</Company>
</Record>
</Issue>
我正在尝试将其反序列化为此对象
public class Issue
{
[XmlAttribute]
public string Type { get; set; }
[XmlArrayItem(typeof(XElement), ElementName = "Record")]
public List<XElement> Record { get; set; }
}
该类型没有问题,但我无法将两个Record节点放入对象的Record列表中。
是否可以不覆盖ISerializable并编写自定义代码?
答案 0 :(得分:2)
试试这个:
public class Issue
{
[XmlAttribute]
public string Type { get; set; }
[XmlAnyElement("Record")]
public List<XElement> Record { get; set; }
}
我认为这告诉序列化器多个Record元素将出现在列表中。
答案 1 :(得分:1)
实现具有ID,Name_First,Name_Last和Company字段
的Record类