c# - 将重复名称 XML 子节点反序列化为 C# 对象
问题描述
我有一个 XML 结构,它实际上应该是一个数组,但不是这种结构。这是 XML 的表示形式。
<rootElement>
<foo>...</foo>
<bar>...</bar>
<bar>...</bar>
<bar>...</bar>
</rootElement>
我似乎无法<bar>
变成一个数组。我有以下 C# 类来尝试执行此操作。
[XmlRoot("rootElement")]
public class MyClass
{
[XmlArrayItem("bar")]
public List<MyItems> Items { get; set; }
}
但它不起作用。我知道我可以使用 XML 文档解析 XML,然后以这种方式将其转换为 C# 对象,但我宁愿只使用 C# 类的属性并使用 XmlSerializer 快速生成对象。
我尝试在 Items 属性上使用各种属性,例如 XmlElement 和 XmlArray,但在反序列化后我一直得到 0 个项目。有没有一种方法可以使用 XmlSerializer 来完成,或者除了使用 XmlDocument 之外我别无选择?
解决方案
推荐阅读
- android - 添加日志时 CMakeLists.txt (target_link_libraries) 中的 CMake 错误
- google-sheets - 根据重复计数器在一个单元格中复制数据
- node.js - 错误:找不到模块'@angular/compiler-cli'
- javascript - React js刷卡显示备用卡而不是每张卡
- javascript - 将随机数生成器限制为仅输出 50 个数字中的 20 个
- c - 在 Linux 中创建简单的 Shell
- javascript - nock:我们可以在 nock 单元测试中为两个不同的主机设置两个范围吗?
- mpandroidchart - MPAndroidChart - 在 X 轴上为时间值设置固定间隔
- dialogflow-es - 如何在谷歌操作/助手控制台中收听用户音频?
- javascript - 如何使用谷歌浏览器扩展关闭除当前标签之外的所有标签