我正在使用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))
提前致谢
标记
答案 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();
我希望这会有所帮助。