gpt4 book ai didi

c# - 对象的 XML 序列化列表

转载 作者:太空宇宙 更新时间:2023-11-03 18:27:33 25 4
gpt4 key购买 nike

查看有关 XML 序列化的 Microsoft 文章:

https://msdn.microsoft.com/en-us/library/58a18dwa.aspx

他们在“Serializing an Array of Objects”下给出了一个例子,如下所示:

public class PurchaseOrder
{
public Item [] ItemsOrders
}

public class Item
{
public string ItemID
public decimal ItemPrice
}

输出:

<PurchaseOrder>
<Items>
<Item>
<ItemID>aaa111</ItemID>
<ItemPrice>34.22</ItemPrice>
</Item>
<Item>
<ItemID>bbb222</ItemID>
<ItemPrice>2.89</ItemPrice>
</Item>
</Items>
</PurchaseOrder>

令我困扰的是“Items”标签。在我看来,只有“Item”标签应该是“PurchaseOrder”的子标签。 “Items”标签似乎没有必要且令人困惑。我可能是错的。

有没有办法让这个例子像这样序列化:

<PurchaseOrder>
<Item>
<ItemID>aaa111</ItemID>
<ItemPrice>34.22</ItemPrice>
</Item>
<Item>
<ItemID>bbb222</ItemID>
<ItemPrice>2.89</ItemPrice>
</Item>
</PurchaseOrder>

最佳答案

您可以使用属性控制序列化。来自“Controlling XML Serialization using Attributes”:要删除代表整个数组的元素,请使用[XmlElement] 属性:

public class Group{
[XmlElement]
public Employee[] Employees;
}

这产生

<Group>
<Employees>
<Name>Haley</Name>
</Employees>
<Employees>
<Name>Noriko</Name>
</Employees>
<Employees>
<Name>Marco</Name>
</Employees>
</Group>

关于c# - 对象的 XML 序列化列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30852141/

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