自动从 XML 模式创建 GUI

问题描述 投票:0回答:8

我必须编写一个桌面应用程序来编辑存储在 XML 文件中的数据。该格式由 XML 架构文件 (.xsd) 定义。格式相当复杂。

有没有可以自动生成基本GUI的工具?目前尚未决定使用哪种语言。我有使用 wxWidgets 的 Python 和 C++ 以及使用 Windows 窗体的 C# (.NET 1) 的经验。

c# c++ python xml schema
8个回答
3
投票

寻找PyQt

http://www.riverbankcomputing.co.uk/software/pyqt/download

下载Qt Developers工具自动生成GUI

www.qtsoftware.com/products/developer-tools

对于模式验证,请尝试 lxml

http://lxml.de/validation.html


2
投票

值得一看的是 Jaxfront,它能够使用 XSD 并生成表单(包括 HTML)。您还可以提供一个实例 XML 文档以将其加载到 GUI 中,并保存实例 XML 文档。

我用我们相当复杂的 XSD 之一进行了尝试,效果非常好。

遗憾的是它是用 Java 编写的 - 我仍在寻找可以生成 .NET Web 表单或 XAML/WPF 的东西!事实上,即使 XFORMS 也不错。


1
投票

一种解决方案可能是编写一个 XSL 转换,将 XML 文件转换为 XAML 文件。


1
投票

如果 GUI 很简单并且您不关心对话框中组件(小部件)的几何形状,Qt 将是一个不错的选择。实际上,我正在为我的项目执行类似的任务,我的目标是使用 XML 文件验证表单数据。

使用 Qt,可以在运行时使用其对象名称来访问对话框上的任何小部件。这样验证就可以应用于对话框内容。

创建任何对话框将更加容易,因为您将拥有小部件类型和某些信息并使用布局,可以获得令人着迷的结果。


0
投票

我不太确定我是否可以完全帮助你@Adrian,但我一直在研究一些与你正在讨论的内容非常接近的东西......

使用 Linq to XML 之类的工具可以帮助您验证输入的数据,因为已经有方法可以为您验证数据。

我记得,有一些工具可以让您动态创建应用程序...link

希望这有帮助。


0
投票

有一个实验性工具可以自动创建一个桌面 UI 来处理存储在 XML 中的数据。它被称为KXForms。它是一套工具的一部分,用于以各种方式处理 XML 数据,例如从 XML 模式创建 C++ 代码以用 C++ 原生表示数据并封装解析和写入。

这可能不是您正在寻找的生产就绪解决方案,但它是一个开始和灵感的来源。它是开源的,因此当然欢迎贡献。


0
投票

XAmple XML Editor 项目引入了一个基于 java Swing 的 XML 编辑器,它分析给定的架构,然后生成特定于文档的图形用户界面。与其他 XML 编辑器不同,XAmple XML 编辑器 GUI 不仅公开 XML 的树表示形式XML 文档不是 XML 文档和相应 XML 模式的逻辑组合。XML 编辑器的用户界面具有高度逻辑性和直观易懂性。为了能够准备非常复杂的有效 XML 文档,用户不需要熟悉XML 和 XML 模式语言,并具有有关文档结构要求的任何先验知识。”

我已经尝试过,甚至我的非技术老板也喜欢它。您可以按原样使用它,也可以将其用作一个库,以此为基础构建您自己的基于 Java 的 UI。


0
投票

我目前正在开发 https://gitlab.com/olprint/xml2gui 框架。
它也支持其他语言。

© www.soinside.com 2019 - 2024. All rights reserved.