我可以从XML文件生成c#类吗?


当前回答

是的,通过使用xsd.exe

D:\temp>xsd test.xml
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 4.0.30319.1]
Copyright (C) Microsoft Corporation. All rights reserved.
Writing file 'D:\temp\test.xsd'.

D:\temp>xsd test.xsd /classes
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 4.0.30319.1]
Copyright (C) Microsoft Corporation. All rights reserved.
Writing file 'D:\temp\test.cs'.

笔记

回答如何在开发人员命令提示中将目录更改为d:\temp可能有用。

如果您为多维数组生成类,XSD.exe生成器中有一个错误,但有变通方法。

其他回答

是的,通过使用xsd.exe

D:\temp>xsd test.xml
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 4.0.30319.1]
Copyright (C) Microsoft Corporation. All rights reserved.
Writing file 'D:\temp\test.xsd'.

D:\temp>xsd test.xsd /classes
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 4.0.30319.1]
Copyright (C) Microsoft Corporation. All rights reserved.
Writing file 'D:\temp\test.cs'.

笔记

回答如何在开发人员命令提示中将目录更改为d:\temp可能有用。

如果您为多维数组生成类,XSD.exe生成器中有一个错误,但有变通方法。

如果你在VS 2012(或更新版本)的。net 4.5项目中工作,你可以将XML文件作为类进行特殊粘贴。

将XML文件的内容复制到剪贴板 在编辑器中,选择要粘贴类的位置 从菜单中,选择EDIT > Paste Special > Paste XML As Classes

我之前发现了这个网站。它将XML和JSON转换为c#和Java类。有几个选项可以根据需要进行调整。我经常用它。 https://json2csharp.com/xml-to-csharp

使用下面的语法从XSD文件创建模式类。

C:\xsd C:\Test\test-Schema.xsd /classes /language:cs /out:C:\Test\

你应该考虑一个问题

xsd.exe和svcutil都对XML模式文件(.xsd)进行操作。您的XML必须符合这两种工具使用的模式文件。

请注意,各种第三方工具也存在于此。