0

我不是 ASP.NET 程序员,但是,就像生活中发生的那样,我不得不使用它做一些小项目。现在出现了另一个我必须实施一些自定义解决方案的问题,但我还没有弄清楚 - 我需要一些提示或者可能是一条建议,例如“不要那样做”;)

以前它很简单——DB 中有一个表,有一个足够的模型和一个与之配合使用的视图——就像魅力一样。现在它有点复杂。

简而言之,“站点”将包含一项调查 - 但不幸的是,这是一个完全可配置的调查。在另一个产品中,将有一个配置管理器,允许用户定义页面、块类型、问题、步骤等,并将生成 XML。

目前,根据规范,在站点的数据库中,我将只有一个表,其中仅包含一个键和配置器生成的 XML(可能还有一些额外的、不重要的信息)。现在 - 我需要解析这个 XML 并构建包含与其对应的页面和其他元素的站点。

这不会是一个问题,但我真的不知道如何使用 asp.net + mvc 以这种方式工作,也找不到任何可以帮助我的建议。我是否应该创建一个以某种方式伪装成模型并允许我处理从 XML 生成的数据集的对象?或者只是创建上述表的模型并直接在视图上使用 XML(我什至不喜欢这样的想法本身)?或者 - 不得不做类似的事情 - 放弃 MVC 并只使用“清晰”的 ASP.NET?或者也许是别的什么?

我将非常感谢任何帮助。

我希望我可以理解地描述我需要的东西;)

4

1 回答 1

1

如果 XML 文档定义了模式,那么您可以使用xsd.exe 工具轻松生成与文档匹配的类。然后可以使用 .Net 框架中的现有功能将文档反序列化为该类的实例。只需 google .Net Xml 序列化 :-)

现在,如果您没有架构,如果您确定自己知道 Xml 的格式,则可以创建一个架构。或者,您可以创建一个与您期望获得的格式匹配的类,然后手动解析 Xml。最后一个选项的工作量更大,所以我不推荐它。

在任何情况下,您最终得到的类都应该包含您需要的 Xml 文档中的所有数据,然后可以用作 MVC 页面中的模型。只要您可以使用标准的 Xml 反序列化技术,那么这应该非常容易且无痛。

于 2013-08-06T07:56:14.747 回答