我有大量的XML文件,我需要将它们转换为C#类,以便以后可以反序列化它们。我需要将XML文件自动转换为C#类文件。
注意:XML文件在结构上有些相似,但是有些文件引入了其他属性。
我尝试了以下方法:
1。 XSD
通过使用Visual Studio附带的XSD,可以使用C#轻松地自动化整个过程。通过为每个文件制作XSD并将其转换为.cs,便可以实现。问题是XSD文件的复杂性引起了问题,并且转换不正确。由于出现以下错误,反序列化无法正常工作:
无法将类型'AttributeName []'转换为'AttributeName'
.xsd生成的每个属性都存在此错误。
我还尝试过为所有XML文件生成XSD,并将XSD转换为C#。反序列化仍然不起作用,这一次将所有属性都标记为null。
2。粘贴为特殊格式(XML到C#)
Visual Studio提供了一个非常漂亮的功能,反序列化可以与此配合使用。但是我不知道如何为每个文件自动化。
3。 XML2CSharp.com
这也可以,但是问题仍然在于自动化。我有很多文件,不能一遍又一遍地进行这样的处理。
一个理想的解决方案是convertToObject()函数,该函数为要访问的当前XML文件创建一个新的C#对象。我不确定如何才能自动化我尝试过的第二种方法。