65.9K
CodeProject 正在变化。 阅读更多。
Home

Cinchoo - XSD GUI 工具

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.92/5 (9投票s)

2014 年 11 月 12 日

CPOL

3分钟阅读

viewsIcon

38334

downloadIcon

1501

Microsoft Xsd 工具的图形用户界面。

目录

  1. 引言
  2. 特点
  3. 如何运行
    1. 窗口模式
    2. 托盘应用程序模式
    3. 控制台模式
      1. 帮助
  4. 配置

1. 引言

很多时候,我们需要解析 XML 文档并创建 XML 模式或公共语言运行时类/实体。这些实体随后会在多个方法之间传递,存储为配置或用于执行某些操作。手动编写代码从 XML 文档解析这些实体非常繁琐。

Microsoft 有一个巧妙的小工具叫做 xsd.exe,它允许你从 XSD 或 XML 文件为 .NET 框架创建可序列化的类。不幸的是,它没有附带最新版本的 Visual Studio,你必须下载 Windows SDK 才能获得它。

本文介绍了新的 Cinchoo GUI 界面,用于 xsd.exe 工具解析 XML 文档并生成实体。这个新的界面是使用 Cinchoo 框架构建的,使用了它的大部分功能,比如配置、命令行解析、应用程序宿主、绑定到控件等等。这是一个使用这个多功能的 .NET 框架轻松构建应用程序的有效例子。

2. 功能

Cinchoo Xsd 工具提供以下功能

  1. 简化的 GUI 界面
  2. 支持嵌套的 XML 文件(请参阅处理嵌套的 Xml 文件文章以获取更多信息)
  3. 可以作为控制台模式运行(传递 /#AM:Console 作为命令行参数)
  4. 可以作为托盘应用程序运行(最小化窗口时)

3. 如何运行

此工具可以作为

  • 控制台应用程序
  • Windows 应用程序
  • 托盘应用程序

3.1 窗口模式

默认情况下,如果你运行可执行文件 (ChoXsd.exe)。这将作为 Windows 应用程序启动。主窗口如下所示

图片 3.1.1 主窗口

  • XML 文件路径 - 输入 XML 文件路径
  • 输出目录 - 生成文件的目标目录。如果未指定,生成的文件将在输入 XML 文件目录中创建。
  • 选项 - 请参阅 Microsoft Xsd.exe 工具文档以了解每个选项
  • 状态 - 所有生成过程的状态消息都会发布
  • 生成 - 按钮用于开始生成过程
  • 取消 - 按钮用于取消生成过程

3.2 托盘应用程序模式

有时,你可能希望始终运行此工具,并快速返回以访问此工具以执行实体生成。在这种情况下,你可以让它们在托盘模式下运行。通过按“最小化”按钮,该工具将被设置为在托盘模式下运行。

在此模式下,以下功能可供你使用。当你在托盘任务栏中右键单击此工具应用程序图标时,这些功能将可用。

  • 打开 - 恢复窗口
  • 始终置顶 - 将窗口保持在所有其他 Windows 应用程序的最前面
  • 在系统启动时运行 - 此选项允许应用程序在系统启动时自动启动
  • 在任务栏中显示 - 在任务栏中显示应用程序

3.3 控制台模式

此工具可以通过传递 /#AM:Console 命令行参数到可执行文件来作为控制台应用程序启动。

列表 3.3.1 作为控制台模式运行
>ChoXsd.exe /#AM:Console

3.3.1 帮助

要获取应用程序的帮助,请在命令行中传递 /?

列表 3.3.1.1 获取帮助
>ChoXsd.exe /#AM:Console /?
ChoXsd [Version 1.0.0.1]
Copyright c  2014

CHOXSD [/order] [/f] [/edb] [/n:<string>] [/l:<string>] [/e:<string>] [/o:<strin
g>] xmlfile [/c] [/eld] [/d]

        /order  Generate explicit order identifiers on all particle members.
        /f      Generate fields instead of properties.
        /edb    Implement INotifyPropertyChanged interface on all generated
                types to enable data binding..
        /n      The namespace for generated class files. The default
                namespace is the global namespace.
        /l      The language to use for the generated code. Choose from
                'CS', 'VB', 'JS', 'VJS', 'CPP' or provide a fully-qualified
                name for a class implementing
                System.CodeDom.Compiler.CodeDomProvider. The default
                language is 'CS' (CSharp).
        /e      Element from schema to process.
        /o      The output directory to create files in. The default is the
                current directory.
        xmlfile Name of an xml file to infer xsd schema from.
        /c      Generate classes for this schema.
        /eld    Generate LINQ-enabled sub-classed Dataset for the schemas
                provided.
        /d      Generate sub-classed DataSet for this schema.

以下是帮助的截图。

图片 3.3.1.1 控制台窗口

4. 配置

更新

此应用程序使用 Microsoft Xsd.exe 工具生成实体。此程序会自动在 'C:\Program Files\Microsoft SDKs\Windows' 文件夹下发现 Xsd.exe 工具,并在启动时记住它。如果你希望在不同的位置使用此工具 (Xsd.exe) 的不同版本,你可以在打开 [AppExe].config 文件并指定包含 Xsd.exe 工具的 Microsoft SDK 路径到 'SDKDirectory' 应用程序设置中进行配置。

列表 4.1 [AppExe].config 文件
<?xml version="1.0"?>
<configuration>
    <appSettings>
        <add key="SDKDirectory" value="C:\Program Files\Microsoft SDKs\Windows" />
    </appSettings>
</configuration>
© . All rights reserved.