我的问题最好通过一个简单的例子来描述。考虑这样的 2 个类:
class Order {
[XmlAttribute] int orderId;
[XmlAttribute] int customerId;
List<OrderItem> items;
}
class OrderItem {
[XmlAttribute] int partCode;
[XmlAttribute] int quantity;
}
使用 XmlSerializer,这将序列化为如下内容:
<order orderId="...", customerId="..." >
<Items>
<orderItem partCode="..." quantity="..." />
</Items>
</order>
我想要做的是删除
有什么办法可以做到这一点吗?
最佳答案
使用XmlElement
属性:
class Order {
[XmlAttribute] int orderId;
[XmlAttribute] int customerId;
[XmlElement]
List<OrderItem> items;
}
使用此属性,您还可以为 OrderItem
对象指定自定义元素名称,甚至为 OrderItem
的每个子类型指定不同的元素名称
关于c# - 使用 XmlSerializer 获取列表时可以省略干预级别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4994927/