【发布时间】:2020-12-15 07:14:27
【问题描述】:
我有一个要求,我想创建一个可以反序列化具有动态元素数量的 XML 的类。例如:
<root>
<Element1>text</Element1>
<Element2>text</Element2>
<Element3>text</Element3>
....
...
<Element10>text</Element10>
</root>
现在,在上面的 XML 中,前 3 个元素是强制性的,并且它们的元素名称是已知的。但在那之后我不知道 XML 有多少元素,这些元素的名称也不知道。
如何编写一个类以便我可以反序列化并读取它?
【问题讨论】:
-
或许这篇相关文章会对你有所帮助:(stackoverflow.com/questions/13704752/…)
-
@RyanWilson 谢谢。那真的很有帮助。我知道如何阅读 xml,但就我而言,我不知道 Elements 的名称。我不确定如何找到它。
-
最好的解决方案是更改创建如此糟糕 xml 的代码。
-
这是错误的 xml,因为动态创建的元素应该具有相同的名称并位于单独的节点内。
-
@HarshilDoshi 检查
Heather D在这篇文章 (stackoverflow.com/questions/13171525/…) 上的答案,它不仅比我上面链接的更短更简单,而且它为使用Expando Object提供了指导而不是具体的类以及如何获取属性名称。
标签: c# xml xml-parsing