![]() |
1
6
如果您的XML使用一个模式(即您总是要知道哪些元素出现在树中,以及它们出现在树中的位置),那么您可以使用
例如,您有一个这样的类:
和这样的输入XML(保存在本例的文件中):
然后创建一个
更新:
根据您上次的更新,我想您需要指定
|
![]() |
2
2
XmlSerializer不支持数组和列表…只要包含的类型是可序列化的。 |
![]() |
3
1
我发现XSD2code对于这类事情非常有用: http://xsd2code.codeplex.com/ 基本上,您所需要做的就是编写一个XSD文件(一个XML模式文件)并指定一些命令行开关。XSD2code将自动生成一个C类文件,其中包含所有类和属性以及处理序列化所需的所有内容。这不是一个完美的解决方案,因为它不支持XSD的所有方面,但是如果您的XML文件是元素和属性的相对简单的集合,那么它对您来说应该是一个很好的捷径。 在codeplex上还有一个类似的项目叫做linq to xsd( http://linqtoxsd.codeplex.com/ 这是为了强制执行整个XSD规范而设计的,但上次我检查时,它不再受支持,也没有真正准备好迎接黄金时段。不过,我觉得值得一提。 |