6

我正在使用XSD2CODEVisual Studio 2010。我知道我可以右键单击架构 ( XSD) 文件并从中生成 c# 类。

我想知道的是,当我有一个 XML 文件的两个模式文件时,如何生成 C# 类?

更多信息:

也许我在最初的问题中没有提供足够的细节。

参考问题XSD.EXE 为什么会创建两个 .XSD 文件,以及如何使用它们?,我基本上问的是同样的问题,XSD2CODE而不是XSD.

对于 XSD,我将使用以下命令:

D:\>xsd response.xsd response_app1.xsd /classes

XSD2CODE在 VS 2010 GUI 和/或命令行中,我如何做到这一点?

4

1 回答 1

3

编辑:
要回答更新后的问题,Xsd2Code 似乎并非旨在一次处理多个 .xsd 文件。

我从:

  1. 命令行语法
    Xsd2Code.exe <XSD File> [Namespace] [Output file name] [Options]
  2. 快速浏览源代码(从http://xsd2code.codeplex.com/SourceControl/list/changesets下载 build 88331并查看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数据类型。

  • 请注意,由于Employees.xsd 已经包含Person.xsd,您只需为Employees.xsd 生成Xsd2Code。

人物.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>

员工.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>
于 2012-02-22T01:01:30.950 回答