背景
我需要将 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/