Cinchoo - XSD GUI 工具
Microsoft Xsd 工具的图形用户界面。
目录
1. 引言
很多时候,我们需要解析 XML 文档并创建 XML 模式或公共语言运行时类/实体。这些实体随后会在多个方法之间传递,存储为配置或用于执行某些操作。手动编写代码从 XML 文档解析这些实体非常繁琐。
Microsoft 有一个巧妙的小工具叫做 xsd.exe,它允许你从 XSD 或 XML 文件为 .NET 框架创建可序列化的类。不幸的是,它没有附带最新版本的 Visual Studio,你必须下载 Windows SDK 才能获得它。
本文介绍了新的 Cinchoo GUI 界面,用于 xsd.exe 工具解析 XML 文档并生成实体。这个新的界面是使用 Cinchoo 框架构建的,使用了它的大部分功能,比如配置、命令行解析、应用程序宿主、绑定到控件等等。这是一个使用这个多功能的 .NET 框架轻松构建应用程序的有效例子。
2. 功能
Cinchoo Xsd 工具提供以下功能
- 简化的 GUI 界面
- 支持嵌套的 XML 文件(请参阅处理嵌套的 Xml 文件文章以获取更多信息)
- 可以作为控制台模式运行(传递 /#AM:Console 作为命令行参数)
- 可以作为托盘应用程序运行(最小化窗口时)
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>