如何从网页输出XML

时间:2013-05-07 13:37:19

标签: asp.net xml

我正在使用VSE 2012和VB构建一个Web表单应用程序,它将XML(将由用户上传)转换为使用XSL的另一个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))

提前致谢

标记

1 个答案:

答案 0 :(得分:0)

您正在向用户的浏览器返回内容类型为“text / xml”的页面。 (浏览器将确定如何处理此页面;您可以使用“内联”或“附件”的内容处置标题为其提供提示。

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

byte[] data = memorystream.ToArray();

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

我希望这会有所帮助。