我正在尝试开发一个网站,该网站提供用户界面生成XML
文件。用户界面将要求各种XML
元素中所需的数据。生成的XML
应遵循DTD
规格。
所以这就是我所做的。
- 我将
DTD
转换为XSD
。 - 我使用xsd.exe工具创建了
C#
类。
现在,我的问题是如何在网页上生成动态输入框,该框将要求我创建的C#类所需的元素数据。
我需要某种方法来了解所需的和可选元素及其数据类型和属性以及我创建的C#类。
我希望您能得到我的要求,谢谢您的查看。
请记住,在用xsd.exe生成的类中丢失了XSD的大多数/可选语义。您基本上有2个( 1稍后编辑)选项:
- 使用对生成类型的反射来为每个属性渲染UI元素。您必须手动管理/定义数据示意图
- 删除xsd.exe类并通过遍历XSD本身来生成UI元素。这样,您就可以获得有关可选/无效元素的更多信息,基数等。从您的UI输入中构造您的生成的XML(使用Xdocument)。
- 混合方法:反思结构的生成类(更容易的遍历逻辑。无需处理外部包括等)。转到XSD获取其他信息(您需要以某种方式找出XSD中的位置以找到所需的定义,以映射到当前属性)
无论哪种方式,您选择这都不是一项琐碎的任务,您需要大量的工作才能实现它。而且,如果我们要进入XSD选择元素等领域等。您很快就会发现,没有直接的UI可以涵盖所有可能的方案