gpt4 book ai didi

c# - 将 XmlSerializer 用于列表时,我可以省略中间级别吗?

转载 作者:数据小太阳 更新时间:2023-10-29 02:59:11 25 4
gpt4 key购买 nike

我的问题最好用一个简单的例子来描述。考虑这样的 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com