Создать графический интерфейс из схемы XML автоматически - PullRequest
14 голосов
/ 12 июня 2009

Мне нужно написать настольное приложение для редактирования данных, хранящихся в файле XML. Формат определяется файлом схемы XML (.xsd). Формат довольно сложный.

Существуют ли инструменты, которые могут автоматически генерировать базовый графический интерфейс? Пока не решено, какой язык использовать. У меня есть опыт работы с Python и C ++ с использованием wxWidgets и C # (.NET 1) с использованием Windows Forms.

Ответы [ 7 ]

3 голосов
/ 12 июня 2009

Go For PyQt :

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

Загрузите инструмент Qt Developers для автоматического создания графического интерфейса

www.qtsoftware.com / продукция / разработчик-инструменты

Для проверки схемы попробуйте lxml

http://lxml.de/validation.html

1 голос
/ 22 января 2010

Стоит взглянуть на Jaxfront , который может использовать XSD и генерировать форму (включая HTML). Вы также можете предоставить экземпляр XML-документа для его загрузки в GUI и сохранить также экземпляры XML-документов.

Я попробовал его с одним из наших довольно сложных XSD, и он работал довольно хорошо.

К сожалению, он написан на Java - я все еще ищу что-то, что может генерировать веб-формы .NET или XAML / WPF! На самом деле даже XFORMS был бы хорош.

1 голос
/ 19 июня 2009

Если графический интерфейс пользователя будет простым и вы не будете беспокоиться о геометрии компонентов (виджетов) в диалогах, Qt будет хорошим вариантом. На самом деле я работаю над аналогичной задачей для своего проекта, и моей целью было проверить данные формы с помощью файла XML.

Используя Qt, можно получить доступ к любому виджету в диалоговом окне во время выполнения, используя его имя объекта. Так что проверка может быть применена к содержимому диалога.

Создание любых диалогов будет еще проще, так как у вас будет тип виджета и определенная информация, а также использование макетов, вы можете получить захватывающие результаты.

1 голос
/ 12 июня 2009

Одним из решений может быть написание XSL-преобразования, преобразующего XML-файл в XAML-файл.

0 голосов
/ 16 февраля 2011

" XAmple XML Editor В проекте представлен XML-редактор на основе Swing, который анализирует данную схему, а затем создает графический пользовательский интерфейс для конкретного документа. В отличие от других редакторов XML, графический редактор XML-редактора XAmple предоставляет не только графический интерфейс. древовидное представление XML-документа, а скорее логическая комбинация XML-документа и соответствующей XML-схемы. Пользовательский интерфейс XML-редактора очень логичен и интуитивно понятен. Чтобы подготовить действительные XML-документы значительной сложности, пользователь должен не обязательно быть знакомым с языками XML и XML Schema и иметь какие-либо априорные знания о структурных требованиях документов. "

Я попробовал это, и даже моему нетехническому боссу нравится это. Вы можете использовать его как есть или использовать как библиотеку, на которой можно основывать свой собственный пользовательский интерфейс на основе Java.

0 голосов
/ 28 ноября 2010

Существует экспериментальный инструмент, который автоматически создает пользовательский интерфейс рабочего стола для обработки данных, хранящихся в XML. Это называется KXForms . Он входит в набор инструментов для обработки данных XML различными способами, например, создает код C ++ из схемы XML для естественного представления данных в C ++ и инкапсуляции анализа и записи.

Возможно, это не готовое к работе решение, которое вы ищете, но это начало и источник вдохновения. Это с открытым исходным кодом, поэтому вклад, безусловно, приветствуется.

0 голосов
/ 12 июня 2009

Я не совсем уверен, смогу ли я вам полностью помочь @Adrian, но я исследовал что-то очень близкое к тому, что вы обсуждаете ...

Использование чего-то вроде Linq to XML может помочь вам в проверке вводимых данных, поскольку уже есть методы, которые будут проверять данные для вас.

Насколько я помню, есть несколько инструментов, которые позволяют динамически создавать приложение ... ссылка

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...