自动从XML模式创建GUI

时间:2009-06-11 20:14:44

标签: c# c++ python xml schema

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

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

7 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

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

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

答案 3 :(得分:1)

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

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

可悲的是,它是用Java编写的 - 我仍然在寻找可以生成.NET Web表单或XAML / WPF的东西!事实上,甚至XFORMS都会很好。

答案 4 :(得分:0)

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

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

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

希望这有帮助。

答案 5 :(得分:0)

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

这可能不是您正在寻找的生产就绪解决方案,但它是灵感的起点和来源。它是开源的,因此肯定会受到欢迎。

答案 6 :(得分:0)

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

我已经尝试过了,甚至我的非技术老板都喜欢它。您可以按原样使用它,也可以将其用作基于Java的UI的库。