Pregunta

¿Existe una forma estándar de convertir un XSD a un formulario de entrada (ASP.NET C #) para que más adelante, cada vez que se agregue / elimine un nuevo campo del XSD, el campo en la página aparezca automáticamente o desaparezca, respectivamente? ¿Es esto algo que necesita ser desarrollado internamente, asumo que debe haber una manera de serializar / deserializar y generar una forma? Cualquier helo sería apreciado ..

¿Fue útil?

Solución

No creo que haya nada incorporado para hacer esto completamente automático. Sin embargo, puedes acercarte bastante. Visual Studio incluye un programa de línea de comandos llamado xsd.exe que puede usar para crear automáticamente una definición de clase a partir de un documento xsd. Una vez que tenga esa definición de clase, puede conectarla a un formulario a través de un componente ObjectDataSource y un control DetailsView.

Otros consejos

Supuesto: estás utilizando XML porque es más simple para ti en este momento.

Idea: ya que desea crear un formulario para manipular los datos, supongo que podría estar abierto a SQL en lugar de XML. Puede que este no sea el caso, pero es probable que encuentre más herramientas para ayudarlo si tiene una base de datos backend en lugar de una base XML / XSD. (Además, hay formas en que puede convertir sus datos de uno a otro).

Hay herramientas que crean formularios a partir de bases de datos en ASP.NET. SubSonic, por ejemplo, tiene un módulo de andamiaje automático que le permite crear un administrador de base de datos que conoce solo su esquema. Si el esquema cambia, simplemente haga que SubSonic regenere sus archivos y sus formularios se habrán modificado. No es perfecto, pero puede recorrer un largo camino, dependiendo de sus necesidades.

Opción 1) Puede crear el esquema de base de datos desde el XSD ( ¿Cómo puedo crear tablas de base de datos a partir de archivos XSD? ) y usar SubSonic a partir de ese momento. Esto puede ser incluso más doloroso que tu pregunta original ... solo tú sabes.

Opción 2) Hackee el andamio SubSonic para que admita su XSD / XML subyacente en lugar de una base de datos. Probablemente pueda reutilizar gran parte de su infraestructura (SubSonic es de código abierto) para generar el formulario desde un XSD.

¡Buena suerte!

Bueno, debo decir que ObjectDataSource no es una mala idea, pero esto no funciona si tiene elementos anidados. Además de esto, para los elementos anidados tendrá todos los " .. FieldSpecified " campos booleanos en la vista de detalles también.

Todavía estoy tratando de averiguar cómo generar un formulario ASP.NET usando un archivo XSD, sin tener que escribir todo, que es un trabajo de mono.

¿Alguien ya se encontró con ese problema?

PS: otro enfoque sería utilizar InfoPath, pero esto requiere software con licencia para ejecutarse como formularios web ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top