将XML文件解除分类为C#类

时间:2009-01-27 09:54:54

标签: c# xml xsd.exe

通过使用XSD工具生成的类来探索反序列化的XML文件而不是XPATH,有谁知道有什么优点(内存/速度)?

3 个答案:

答案 0 :(得分:2)

我说优点是你得到一个更方便使用的强类型类,如果文件中的XML数据对于创建对象无效,那么类的构造函数也会抛出异常,所以您可以免费获得最低限度的数据验证。

答案 1 :(得分:2)

如果您不想编写样板代码,并且需要在通过时检查XML的任何值,那么XSD.exe生成的类就不会出错。

答案 2 :(得分:0)

两者非常不同;但XmlSerializer将始终反序列化整个对象;使用XPath,您可以选择。我亲自使用XmlSerializer - 更难以出错。

然而,XPath是一个依赖于后端的复杂野兽。例如,XmlDocument(可变)的行为与XPathDocument不同(只读,针对查询进行了优化)。