我在Visual Studio 2010中使用XSD2CODE
。我知道我可以右键单击架构(XSD
)文件并从中生成c#类。
我想知道的是,当我有一个XML文件的两个模式文件时,如何生成C#类?
更多信息:
也许我在原始问题中没有提供足够的细节。
引用问题Why does XSD.EXE Create Two .XSD Files, and How to Use Them?,我基本上是针对XSD2CODE
而不是XSD
提出同样的问题。
使用XSD我会使用命令:
D:\>xsd response.xsd response_app1.xsd /classes
如何在VS 2010 GUI和/或命令行中使用XSD2CODE
执行此操作?
答案 0 :(得分:3)
编辑:
为了回答更新的问题,那么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
- 使用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>