gpt4 book ai didi

c# - 反序列化 XML 数组

转载 作者:行者123 更新时间:2023-11-30 22:42:30 24 4
gpt4 key购买 nike

我有一个 xml 文件,我正在尝试使用 .Net XmlSerializer 类反序列化。我在想出表示 xml 格式的 C# 类时遇到了麻烦。我的主要问题是处理一个用于表示通用数组的元素。数组的子元素并不总是相同的。我还遇到了数组数组的问题,据我所知,它本身不受支持。

例子:

<root>
<parent_1>
<sub_element0 value="0"/>
<sub_element1>
<array idx="0" value="0"/>
<array idx="1" value="0"/>
</sub_element1>
</parent_1>
<parent_2>
<array idx="0">
<array idx="0">
<sub_element2 value="0"/>
</array>
<array idx="1">
<sub_element2 value="0"/>
</array>
</array>
<array idx="1">
<array idx="0">
<sub_element2 value="0"/>
</array>
<array idx="1">
<sub_element2 value="0"/>
</array>
</array>
</parent_2>
</root>

如您所见,数组元素不带子元素,而是带子元素(包括它本身)。我不能只创建一个名为“array”的类,那么我该如何处理呢?

感谢任何帮助。

最佳答案

在有问题的 XML 上运行 xsd.exe 以创建 XSD。然后在生成的 XSD 上运行 xsd.exe/c 以创建序列化/反序列化类。您会注意到,它不会创建名为 array 的类,而是创建名为 array1 的类,然后使用 XML 名称将 XmlElementAttribute 应用于它“阵列”。

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

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