xsd.exe工具生成给出XSD文件类。 它遵循命名类型的模式。 例如,
<Students>
<Student Name="A" RollNo="1" Address="Some Address">
<Department Id="20" Name="CSE"/>
</Student>
</Students>
xsd.exe /c Students.xsd
产生Students.cs文件。 如果我们看到的元素类型
Element Type Name
Students Students
Student StudentsStudent
Department StudentsStudentDepartment
它由前缀的父元素的名称,如果该元素是孩子产生的类型。 我们可以控制这个名字呢? 我需要的那种类型的名称作为元素名称相同。 学生=>学生,系=>系
提前致谢
不同于现有的机制在其他地方,对于例如JAXB用户通过自定义JAXB绑定文件 - 一般情况下,一个可以用的时候不XSD.EXE自定义生成的类的名称。
然而,对于XSD.EXE生成的类名取决于创作风格。 你所描述的,是时产生的创作风格是否符合特定的“俄罗斯套娃”,即如下:
<?xml version="1.0" encoding="utf-8"?>
<!--XML Schema generated by QTAssistant/XML Schema Refactoring (XSR) Module (http://www.paschidev.com)-->
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Students">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Student">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Department">
<xsd:complexType>
<xsd:attribute name="Id" type="xsd:unsignedByte" use="required" />
<xsd:attribute name="Name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="Name" type="xsd:string" use="required" />
<xsd:attribute name="RollNo" type="xsd:unsignedByte" use="required" />
<xsd:attribute name="Address" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
如果你改变它的风格不同的东西(这被称为百叶窗):
<?xml version="1.0" encoding="utf-8"?>
<!--XML Schema generated by QTAssistant/XML Schema Refactoring (XSR) Module (http://www.paschidev.com)-->
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Students" type="Students"/>
<xsd:complexType name="Students">
<xsd:sequence>
<xsd:element name="Student" type="Student"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Student">
<xsd:sequence>
<xsd:element name="Department" type="Department"/>
</xsd:sequence>
<xsd:attribute name="Name" type="xsd:string" use="required"/>
<xsd:attribute name="RollNo" type="xsd:unsignedByte" use="required"/>
<xsd:attribute name="Address" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:complexType name="Department">
<xsd:attribute name="Id" type="xsd:unsignedByte" use="required"/>
<xsd:attribute name="Name" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:schema>
你会得到产生这些类: