从XML数据创建反序列化C#类的正确方法是什么?

时间:2014-09-04 12:26:11

标签: c# xml xsd

我正在进行一个项目,其中C#反序列化类似乎是基于XML文件生成的,而不是直接从系统XSD生成的。

有人可以确认:从这个单个XML文件创建的XSD可能缺少元数据,因为某些属性可能为null或缺失,具体取决于XML文件的生成方式。

据我所知,正确的方法是直接从系统XSD生成类而不是从XML文件生成类,并在从XML生成时识别一些问题?

1 个答案:

答案 0 :(得分:1)

你是对的。示例XML文件中缺少的可选元素或字段不会出现在生成的XSD文件中,因此不会出现在反序列化类中。对于出现在XML中的单个项目,这也是相同的,其中项目列表是预期的。即使你有一个完整的XML文件,它也可能缺少你在XSD中的约束等。

我的建议是始终从XSD开始。然后创建一个测试XML文件以对其进行测试。