0

我正在使用 VSE 2012 和 VB 构建一个 Web 表单应用程序,该应用程序使用 XSL 将 XML(将由用户上传)转换为另一个 XML,并且需要允许用户查看/保存转换后的文档。我想在屏幕上显示结果(作为原始 XML,以便它可以复制和粘贴)并提供下载与复制和粘贴的能力

我已经完成了转换,但不知道如何显示为原始 XML 或让用户能够下载。这就是我到目前为止所拥有的。它显示结果,但只显示节点的内容,而不是原始 XML:

 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
           Handles Me.Load
    Response.ContentType = "text/xml"

    'Dim transformedfile As String

    Dim xsltFile As String = Path.Combine(Request.PhysicalApplicationPath, _
        "Test.xsl")
    Dim xmlFile As String = Path.Combine(Request.PhysicalApplicationPath, "XMLDoc.xml")

        Dim xslt As New XslCompiledTransform() 'Pass in true to enable XSLT Debugging
        xslt.Load(xsltFile)

        Dim doc As New XPathDocument(xmlFile)
    xslt.Transform(doc, New XmlTextWriter(Response.Output))

提前致谢

标记

4

1 回答 1

0

您正在向用户的浏览器返回内容类型为“text/xml”的页面。(浏览器将决定如何处理该页面;您可以使用“inline”或“attachment”的内容处置标题给它提示)。

此示例显示了在返回 PDF 文件时如何执行此操作;您只是发送一个 XML 内容类型,例如:

byte[] data = memorystream.ToArray();

Response.Clear();
Response.ClearHeaders();
Response.ClearContent();
Response.Buffer = true;
Response.ContentType = "text/xml";
Response.BinaryWrite(data);
Response.End();

我希望这有帮助。

于 2013-05-07T14:18:53.043 回答