【发布时间】:2009-05-27 15:49:11
【问题描述】:
我正在开发一个存储大量文档的 Windows 桌面应用程序,最初会有 4 种不同类型的文档,每一种都是一个 Windows 窗体,每个都有一些常见的详细信息(文档 ID、客户端 ID 等),以及然后根据文档类型使用不同的字段。
我计划使用 XML 来指定每个表单的字段。所以我的问题是,获取 XML 文档并根据其内容呈现表单字段的最简单方法是什么?我应该只是解析 XML 并创建表单字段,还是有更快更简单的方法?
【问题讨论】:
我正在开发一个存储大量文档的 Windows 桌面应用程序,最初会有 4 种不同类型的文档,每一种都是一个 Windows 窗体,每个都有一些常见的详细信息(文档 ID、客户端 ID 等),以及然后根据文档类型使用不同的字段。
我计划使用 XML 来指定每个表单的字段。所以我的问题是,获取 XML 文档并根据其内容呈现表单字段的最简单方法是什么?我应该只是解析 XML 并创建表单字段,还是有更快更简单的方法?
【问题讨论】:
如果您使用 XML 作为元数据,并且您的元数据是相对静态的(例如 FieldName=X、DataType=Y 等)并且不必在运行时扩展,您可以考虑 XmlSerialization 并在代码中处理生成的对象。
在完成了这两种方法之后,老实说,处理类型安全的对象比将业务逻辑和解析逻辑交织在一起要干净得多。话虽如此,如果您需要运行时可扩展性,它就行不通(或者您必须跳过一些障碍)。
如果您的元数据更改很少,您甚至可能需要考虑某种形式的代码生成,而不是动态表单构建。
关于 Auxon 的回答,YMMV 与 3rd 方选项。我有一些效果很好的 OOTB,为我节省了大量时间,还有一些我花了很多时间配置和调整以获得与我自己构建的结果不太一样的结果。根据此功能对您的应用程序的重要性,如果您开始看到第 3 方框架适应成为一项大型开发任务,您可能需要考虑推出自己的功能。
【讨论】: