我刚刚开始一个项目,在这里我需要创建一个类来映射XSD文件中的所有XML属性。对于那些具有一些属性的对象,可以手动完成。对于那些具有很多属性的人,创建类将需要一些时间。
我发现我可以使用XSD工具 link实现此目的。实际上,我能够从XSD文件生成一个类。但是,它使用的是Windows中的命令提示符。
CMD行:
C:\XSD path..\xsd myXSDFile.xsd /classes
SDK 8和更高版本的XSD路径(link了解更多信息)
还有一个附加的FX版本子目录:
%programfiles(x86)%\Microsoft SDKs\Windows\{ver}\bin\{FXVer} Tools
任何人都知道可以从Mac OS实现相同的功能吗?有没有办法在此OS中使用XSD工具?或我们可以使用的类似工具?
很遗憾,尚未将[XSD.exe移植到.NET Core(请参阅此github问题:https://github.com/dotnet/runtime/issues/1391)。他们已经承认了这个问题(该问题于2016年首次提出),但它的最新更新是2019年12月,所以请不要屏住呼吸。
[但是,有另一种方法可以使用称为LinqToXsd的工具为XSD生成C#类,该工具是另一种由Microsoft创建的工具,最初仅用于.NET Framework,但已移植到.NET Core 2(请参见[C0 ])。可以在任何支持.NET Core 2的MacOS版本上调用它,并生成与.NET Standard 2.0兼容的代码。
首先https://github.com/mamift/LinqToXsdCore,然后使用dotnet命令安装LinqToXsdCore:
然后您可以使用以下命令生成C#类:
dotnet tool install LinqToXsdCore -g
您可以在这里找到完整的说明:linqtoxsd gen "pathToFile.xsd"