动态地从xsd创建winform

时间:2011-09-14 09:24:49

标签: c# xsd dynamic

我正在编写一个XSD解析器,它动态构建简单的WinForm(基于输入XSD方案)。
我想只使用xsd定义的结构,而不是添加除xsd标准元素之外的任何东西。

问题:

  1. 我希望xsd:element定义一个控件。如何区分哪个xsd:element定义了哪种控件类型(特别是粗体控件)? (基本是TextBox, TextArea (多行文本框), ComboBox RadioGroup (radiobuttons组),DateTimePicker,CheckBox,面板< / strong>,按钮)。
  2. 标签怎么样 - 也许最好在xsd中定义它们:包含其他控件的元素(TextBox等)?怎么样?
  3. 我需要这个解析器使客户端能够通过第三方工具生成模式,然后将XSD填充到我的应用程序中并打开WinForm(无需编程),并在后续步骤中生成带有数据和输出的xml。

1 个答案:

答案 0 :(得分:0)

我认为通过查看XMLSpy可以获得很多想法。具体来说,他们的Stylevision技术可能非常类似于您想要实现的目标。

我认为它也突出了您的概念的一些问题 - XSD不包含有关如何捕获XML将代表的数据的所有必要信息。您可以假设特定类型的默认编辑器等,但很快您就会遇到某人希望以不同方式工作的情况,并且XSD默认情况下不会支持它。我很确定你会得到一些非标准的扩展,没有开箱即用的工具,或者你自己的XML语言来定义屏幕。不过,我建议看看XMLSpy,他们的一些工具非常好,应该给你一些想法。