我使用Microsoft SDK中的NetFX 4.5.1工具命令:
xsd schema.xsd /c
它只生成一个具有所有结构(schema.cs)的类。但是我需要在schema.xsd中描述的结构类。例如:Application.cs,Applicant.cs等,就像我在Eclipse中生成JAXB类之后的那样。
以下是schema.xsd代码的一部分:
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2011 rel. 2 -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="3.0.0">
<!-- Application -->
<xs:element name="Application">
<xs:annotation>
<xs:documentation>Заявка</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="DecisionResponse" minOccurs="0"/>
<xs:element ref="CreditRequest" minOccurs="0"/>
<xs:element ref="Applicant"/>
<xs:element ref="Routing"/>
</xs:sequence>
<xs:attribute ref="applicationDate" use="optional"/>
<xs:attribute ref="timestamp" use="optional"/>
<xs:attribute name="applicationId" type="xs:int" use="optional">
<xs:annotation>
<xs:documentation>ID заявки</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="applicationDecision" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Итоговое решение по заявке</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<!-- DecisionResponse -->
<xs:element name="DecisionResponse">
<xs:annotation>
<xs:documentation>Решения по заявке</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Product" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
答案 0 :(得分:1)
您最好和最简单的选择是使用WSCF蓝色,它是Visual Studio的加载项 只需选择你的XSD文件/ WSDL集并生成类,然后你可以选择多个/单个文件,然后你就可以了
答案 1 :(得分:0)
我不认为xsd.exe
有这个选择。
根据我对xsd.exe
的使用经验,它是一个很棒的工具,可以帮助您前进,但不应该像T4模板一样使用(例如EF的.tt文件),但只能运行一次。
我发现有一堆Attribute
已生成,您不需要这些课程。
所以恕我直言,这是最好的简单:
schema.cs
文件Attribute
s 这显然可能适用于小型或中型架构。
答案 2 :(得分:0)
否即可。 xsd.exe
没有从一个xsd文件生成多个类的选项。
您可以尝试以编程方式执行此操作(请参阅Mike Hadlow中的此示例)