xml - Razor 而不是 XSLT 来转换 MVC3/MVC4 应用程序中的 XML 文档?

标签 xml asp.net-mvc-3 razor

背景

我需要将 XML 文档转换为 XHTML 文档,以便在 MVC3 网络应用程序中转换为 DOCX。我将合并 XML 数据周围的段落文本。段落文本是从数据库中提取的。在过去,我肯定会使用 XSLT 来转换 XML。然而,我现在意识到 Razor 提供了一个非常引人注目/更好的选择。我的 XSLT 现在有点生疏了,无论如何我都会在我的 MVC 应用程序中大量使用 Razor。那么 Razor 是正确的选择吗?

如果 Razor 是可行的方法,那么我将不胜感激如何将其包含在 Controller 中。我最初的伪代码思路是:

  ViewBag.MyXMLDoc = DocXML;    
  var MyDocXHtml = View("XHtmlRazorRenderer", ParagraphTextListModel);

非常感谢您的想法。

编辑

MyDocument = MyDocument.LoadXML("MyDocXML.xml")    
ViewBag.MyDocument = MyDocument;
var MyDocXHtml = View("XHtmlRazorRenderer", ParagraphTextListModel);

最佳答案

对于给定的工作,我会坚持使用 XSLT。

请注意,Razor 是一个“通用”文本模板引擎,它不会简化正确 XML 的生成。此外,与 LINQ-to-XML 相比,使用 XPath 遍历具有命名空间的复杂 XML 更自然、更简洁。

生成执行 XSLT 工作的自定义 View 引擎并不难,就像 Razor 模板呈现文本和 HTML 一样。这允许在 ASP.NET MVC 应用程序的范围内很好地自然地集成 XSLT 呈现。

关于xml - Razor 而不是 XSLT 来转换 MVC3/MVC4 应用程序中的 XML 文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14679285/

相关文章:

asp.net - MVC3 何时使用区域?

razor - 为什么添加 razorformat 会破坏 servicestack 最新 3.9.45.0 中的 Web 服务

asp.net-mvc - 子目录中托管的 mvc3 应用程序的 Url.Action

visual-studio - VS 2010 似乎没有与 Razor 相关联(没有突出显示或智能感知)

c# - 如何将细节模型从 Controller 传递到 View

c++ - XML 编辑/替换的好选择

android - Android XML 资源文件的正确结构

java - 如何在 CollapsingToolbarLayout 内设置 Toolbar 的重力?

javascript - 来自 ajax 表单的 XML 请求

ASP.NET 服务与存储库层