如何在.net核心中以编程方式将模式转换为c#类



我正在寻找一种在。net核心中将模式转换为c#类的方法。在。net框架中,我使用类xmlcodeexporters来实现这一点,但似乎这还没有移植到。net例如,下面是一个简单的模式:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="sometype">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="somestring" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="sometype" nillable="true" type="sometype" />
</xs:schema>

我可以运行xsd工具生成如下类:xsd.exe Schema。xsd/c

[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=true)]
public partial class sometype {

private string somestringField;

/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
public string somestring {
get {
return this.somestringField;
}
set {
this.somestringField = value;
}
}
}

我如何以编程方式实现这一点?

提前感谢您提供的任何帮助

微软过去有一个叫做LinqToXsd的工具,它本质上是XSD.exe的一个更好的版本。

虽然他们自己不再支持它,但它已经被社区作为LinqToXsdCore移植到。net核心。它在GitHub上:https://github.com/mamift/LinqToXsdCore

它运行在。net Core上,但是它生成的代码目标是。net Standard 2.0,所以你可以使用它的代码目标是。net Framework/。网络核心。

编辑:它有代码生成功能,可以通过编程方式访问,如果您检查https://github.com/mamift/LinqToXsdCore/blob/master/XObjectsCode/Src/XObjectsCoreGenerator.cs

相关内容

  • 没有找到相关文章

最新更新