我在Visual Studio 2010中使用XSD2CODE
。我知道我可以右键单击架构(XSD
)文件并从中生成C#类。
我想知道的是,当一个XML文件有两个模式文件时,如何生成C#类?
更多信息:
也许我在最初的问题中没有提供足够的细节。
引用问题Why does XSD.EXE Create Two .XSD Files, and How to Use Them?,我基本上是向XSD2CODE
而不是XSD
询问相同的问题。
对于XSD,我将使用以下命令:
如何在VS 2010 GUI和/或命令行中使用XSD2CODE
做到这一点?
最佳答案
编辑:要回答更新的问题,那么似乎Xsd2Code并非旨在一次处理多个.xsd文件。
我从以下收集到此信息:
Xsd2Code.exe <XSD File> [Namespace] [Output file name] [Options]
Trunk\Xsd2Code.Console\EntryPoint.cs
。Pascal Cabanel在Xsd2Code的CodePlex网站上似乎非常活跃。考虑与他联系以获得明确的答案:
http://www.codeplex.com/site/users/view/pcabanel
为了自动创建支持的xsd2Code类文件,可以在解决方案资源管理器中单击.xsd文件,然后在“属性”窗口中,将 Xsd2CodeCustomTool 写入/粘贴到“自定义工具”属性中。
为了从另一个.xsd文件中“查看”数据类型,可以使用
include
语句。这是一个示例,其中Person.xsd包含数据定义,Employees.xsd
include
-ing Person.xsd并使用Person
数据类型。Person.xsd
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="CommonNamespace"
xmlns="CommonNamespace"
>
<xs:complexType name="Person">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
Employees.xsd
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="CommonNamespace"
xmlns="CommonNamespace"
>
<xs:include schemaLocation="Person.xsd"/>
<xs:element name="Employees">
<xs:complexType>
<xs:sequence>
<xs:element name="Employee" type="Person" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
关于.net - 将XSD2CODE与多个架构文件一起使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9386754/