Динамическое создание форм из XSD в .NET - PullRequest
0 голосов
/ 08 января 2011

Я знаю, что в Интернете много документации по XSD для форм, но я не смог найти ту, которая достаточно прямолинейна для моей ситуации.

Я работаю с веб-службой WCF, которая собирается извлечь и XML-схему XSD, и должна вернуть HTML-форму, основанную на XML-схеме XSD. Есть ли сторонние инструменты, которые могут помочь с этим, если так, то каковы они? Если нет, есть ли у вас какие-либо предложения, лучшие методы и т. Д., Как это можно сделать?

Ответы [ 3 ]

3 голосов
/ 28 июня 2012

Я работаю над своим собственным проектом под названием XsdFormEditor. Приложение сможет отображать любой XSD в виде формы в WinForms (выполнено 95%), Web (с использованием Asp.Net MVC, выполнено 0%), WPF (выполнено 0%). Идея состоит в том, чтобы загрузить любой XSD-файл, показать его пользователю в виде формы, позволить пользователю вводить некоторые данные и сохранять данные в формате XML. Пользователь также сможет загрузить значения по умолчанию для формирования из файла XML. Вы можете найти его здесь: https://github.com/janstafa/XsdFormEditor

1 голос
/ 08 января 2011

Прежде всего, им нужно будет не только передать вам XSD (без элементов include, import или redefine), но и сообщить корневому узлу.

Во-вторых, я бы подошел к этому, прочитав в XSD метод XmlSchema.Read. Затем вы можете просмотреть объектную модель, извлекая необходимую информацию.

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

Также рассмотрим продукт Microsoft Office InfoPath от Microsoft. Даже если вы сами не используете продукт, получите пробную версию, чтобы увидеть, как формы могут быть определены на основе XSD и других метаданных.

1 голос
/ 08 января 2011

Xsd сложно разобрать, но вы можете легко получить из него класс, вызвав xsd.exe / class или выполнив его во время выполнения, выполнив следующий прекрасный пример: http://mikehadlow.blogspot.com/2007/01/writing-your-own-xsdexe.html следовательно, с классами, представляющими ваш xsd, вы можете использовать отражение для создания HTML-кода.

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