【发布时间】:2013-06-04 09:28:47
【问题描述】:
我有一些格式如下的 XML:
<PurchaseItem>
<Name>Item 1</Name>
<Costs>
<Cost>
<Code>A</Code>
<Info>Test 1</Info>
</Cost>
<Cost>
<Code>B</Code>
<Info>Test 1</Info>
</Cost>
<Cost>
<Code>C</Code>
<Info>Test 1</Info>
</Cost>
</Costs>
</PurchaseItem>
我希望这个 XML 反序列化为以下类:
public class PurchaseItem
{
[XmlElement("Name")]
public string Name { get; set; }
[XmlElement("Costs")]
public Cost[] Costs { get; set; }
}
public class Cost
{
[XmlElement("Code")]
public string Code{ get; set; }
[XmlElement("Info")]
public string Info{ get; set; }
}
但是,除非我创建另一个类作为 Cost[] 的包装器,否则我似乎无法让它工作。
如何像上面的代码那样在PurchaseItem 类中序列化成本数组?
【问题讨论】:
-
谢谢,Patrick 和 Daniel 的答案都是正确的!
-
额外问题:如果我要将 xml 中的
xml 数组元素名称更改为 <foocost> 我如何在 c# 类中指定该更改? (它是Cost类的属性) -
[XmlArray(ElementName = "FooCosts")] [XmlArrayItem(ElementName="FooCost")] public Cost[] Costs { get; set; }
标签: c# .net xml deserialization