如何使用XSL在部分视图中呈现XML文档?

时间:2013-05-21 09:48:58

标签: c# xml asp.net-mvc xslt

请注意, 我有一个XML文件,其中包含要显示给用户的此类信息。我有XSL文件,其中包含要显示的内容的样式信息。

我在控制器中编写了以下操作,以返回包含XML文件内容的View。

public ActionResult GetError()
{
  XmlDocument xdoc=GetXMLError();
  return View(xdoc);
}

[#GetError.cshtml]
@model System.Xml.XmlDocument
@MvcHtmlString.Create(Model.InnerXml).ToHtmlString()

但是Screen将xml呈现为String而不是HTML String。 这意味着它打印我发送的xml。

我还在对应的View Folder.

中包含了XSL文件

我不知道进一步的诉讼程序。

有人可以帮我解决这个问题吗?以指定的样式格式渲染XML?

1 个答案:

答案 0 :(得分:0)

最后我得到了输出。我感谢@sundar G的评论。

我更改了控制器,如下所示

public ActionResult GetError()
{
  XmlDocument xdoc=GetXMLError();
  XslCompiledTransform xsl = new XslCompiledTransform();
  xsl.Load(@"D:\Development\Test.xsl");
  XmlReader xReader = XmlReader.Create(new StringReader(xdoc.InnerXml));
  StringBuilder stringBuilder=new StringBuilder();
  XmlWriter xWriter=XmlWriter.Create(stringBuilder);
  xsl.Transform(xReader, xWriter);
  return View(stringBuilder);
}

在视图中。

@model System.Text.StringBuilder
@MvcHtmlString.Create(Model.ToString())