通过使用 /parameters 开关,可指定设置各种选项的单个 XML 文件。可设置的选项取决于您如何使用 XSD.exe 工具。选择包括生成架构、生成代码文件,或生成包含 DataSet 功能的代码文件。例如,生成架构时可将 <assembly> 元素设置为可执行文件 (.exe) 或类库文件 (.dll) 的名称,但生成代码文件时则不能。下面的 XML 演示如何将 <generateSchemas> 元素用于指定的可执行文件:
<!-- This is in a file named GenerateSchemas.xml. -->
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateSchemas>
<assembly>ConsoleApplication1.exe</assembly>
</generateSchemas>
</xsd>
如果前面的 XML 包含在名为 GenerateSchemas.xml 的文件中,则通过在命令提示处键入下面的内容并按 Enter 使用 /parameters 开关:
xsd /p:GenerateSchemas.xml
另外,如果为程序集中的单个类型生成架构,则可以使用下面的 XML:
<!-- This is in a file named GenerateSchemaFromType.xml. -->
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateSchemas>
<type>IDItems</type>
</generateSchemas>
</xsd>
但是若要使用上面的代码,您还必须在命令提示处提供程序集的名称。在命令提示处键入下面的内容(假设 XML 文件名为 GenerateSchemaFromType.xml):
xsd /p:GenerateSchemaFromType.xml ConsoleApplication1.exe
必须为 <generateSchemas> 元素仅指定以下选项中的一个。
|
元素
|
说明
|
| <assembly> | 指定将从中生成架构的程序集。 |
| <type> | 指定程序集中找到的要为其生成架构的类型。 |
| <xml> | 指定要为其生成架构的 XML 文件。 |
| <xdr> | 指定要为其生成架构的 XDR 文件。 |
若要生成代码文件,请使用 <generateClasses> 元素。下面的示例生成一个代码文件。注意,另外还显示了两个属性,它们允许您为生成的文件设置编程语言和命名空间。
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateClasses language='VB' namespace='Microsoft.Serialization.Examples'/>
</xsd>
<!-- You must supply an .xsd file when typing in the command line.-->
<!-- For example: xsd /p:genClasses mySchema.xsd -->
可为 <generateClasses> 元素设置以下选项。
下表显示也可用于 <generateClasses> 元素的属性。
|
属性
|
说明
|
| language | 指定要使用的编程语言。从 CS(默认情况下为 C#)、VB (Visual Basic)、JS (JScript) 或 VJS (Visual J#) 中进行选择。也可指定实现 CodeDomProvider 的类的完全限定名。 |
| namespace | 为生成的代码指定命名空间。命名空间必须符合 CLR 标准(例如,没有空格或反斜杠字符)。 |
| options | 以下值之一:none、properties(生成属性而不是公共字段)、order 或 enableDataBinding(请参见前面“XSD 文件选项”一节的 /order 和 /enableDataBinding 开关)。 |
使用 <generateDataSets> 元素还可以控制如何生成 DataSet 代码。下面的 XML 指定生成的代码使用 DataSet 结构(如 DataTable 类)为指定元素创建 Visual Basic 代码。
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateDataSet language='VB' namespace='Microsoft.Serialization.Examples'>
<element>IDItems</element>
</generateDataSet>
</xsd>
可为 <generateDataSet> 元素设置以下选项。
|
元素
|
说明
|
| <element> | 指定 .xsd 文件中要为其生成代码的元素。 |
下表显示可用于 <generateDataSet> 元素的属性。
|
属性
|
说明
|
| language | 指定要使用的编程语言。从 CS(默认情况下为 C#)、VB (Visual Basic)、JS (JScript) 或 VJS (Visual J#) 中进行选择。也可指定实现 CodeDomProvider 的类的完全限定名。 |
| namespace | 为生成的代码指定命名空间。命名空间必须符合 CLR 标准(例如,没有空格或反斜杠字符)。 |
有些属性可在顶级 <xsd> 元素上设置。这些选项可用于任何子元素(<generateSchemas>、<generateClasses> 或 <generateDataSet>)。下面的 XML 代码在名为“MyOutputDirectory”的输出目录中为名为“IDItems”的元素生成代码。
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/' output='MyOutputDirectory'>
<generateClasses>
<element>IDItems</element>
</generateClasses>
</xsd>
下表显示也可用于 <xsd> 元素的属性。
|
属性
|
说明
|
| output | 将放置生成的架构或代码文件的目录的名称。 |
| nologo | 取消显示版权标志。设置为 true 或 false。 |
| help | 显示该工具的命令语法和选项。设置为 true 或 false。 |