使用XSLT从xml获取Razor视图

本文关键字:Razor 视图 获取 xml XSLT 使用 | 更新日期: 2023-09-27 18:19:49

我正在尝试显示、编辑并验证一个以XML形式存储在数据库中的对象。它的形状会随着时间的推移而变化。我希望在运行时为数据库中存储的每个对象创建一个带有验证的表单。

XMl看起来像这样:

<root>
<name>Name</name>
</root>

查看:
。。。。<form name="formRoot">
<p>Name</p><input name="name" value="Name"/>
</form>
……

在这件事上,你有任何代码示例可以帮助我吗?或者是否有任何库已经这样做了?

编辑1:在c#中,我使用这种xslthttp://support.microsoft.com/kb/307322

编辑2:我希望能够使用正则表达式、长度和类型验证为每个输入添加验证。最好使用jQuery。并在键入时进行异步验证。例如,在blur上,将字段名发送到服务器,并在有效的情况下获得valid:true响应,在无效的情况下获取validation message响应。

使用XSLT从xml获取Razor视图

对于XSLT部分,我建议使用"填充blanks"技术--请参阅此处的一个简单示例:https://stackoverflow.com/a/8674694/36305.

表单骨架将如下所示:

<form name="formRoot" xmlns:gen="my:gen">
  <gen:name/>
</form>

XSLT代码将包含一个与gen:name匹配的模板,该模板将生成:

<p>Name</p><input name="name" value="Name"/>

表单骨架的URL作为外部参数传递给XSLT转换。

源XML文档(URL或其本身)作为另一个外部参数传递。

因此,XSLT转换可以处理任何源XML文档,并将处理结果插入任何表单骨架文档