首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >下载XmlDocument

下载XmlDocument
EN

Stack Overflow用户
提问于 2012-12-05 23:39:15
回答 2查看 4.7K关注 0票数 0

我只想按下一个按钮,然后下载一个xmldocument文件。

我尝试了很多东西,例如:

代码语言:javascript
复制
XmlDocument doc As XmlDocument() = //Method that gets a xmldocument
Response.Clear()
this.Response.ContentType = "text/xml"
xmldoc.Save(this.Response.OutputStream)

代码语言:javascript
复制
Dim xmldocument As XmlDocument = //Method that gets a xmldocument
Using stream As MemoryStream = New MemoryStream()
            Dim xmlWriter As XmlTextWriter = New XmlTextWriter(stream, System.Text.Encoding.ASCII)
            xmldocument.WriteTo(xmlWriter)
            xmlWriter.Flush()

            Dim byteArray As Byte() = stream.ToArray()
            Response.Clear()
            Response.AppendHeader("Content-Disposition", "filename=MyExportedFile.xml")
            Response.AppendHeader("Content-Length", byteArray.Length.ToString())
            Response.ContentType = "application/octet-stream"
            Response.BinaryWrite(byteArray)
            xmlWriter.Close()
        End Using

什么都不起作用,我是不是忘了什么明显的东西?因为什么都不能用,所以加载了xmldocument,一切看起来都很好,但是文件永远不会下载,"response“绝对不会做任何事情!

用Csharp或VB.NET回答会很有帮助

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-06 00:10:22

试试这样的东西

代码语言:javascript
复制
XmlDocument doc = new XmlDocument();
doc.LoadXml(@"
<root name='rootAttribute'>
    <OrderRequest name='one' />
    <OrderRequest name='two' />
    <OrderRequest name='three' />
</root>
"); // Load some random xml - use function to load whatever you need

MemoryStream ms = new MemoryStream();
using (XmlWriter writer = XmlWriter.Create(ms))
{
    doc.WriteTo(writer); // Write to memorystream
}

byte[] data = ms.ToArray();
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = "text/xml";
HttpContext.Current.Response.AddHeader("Content-Disposition:",
                    "attachment;filename=" + HttpUtility.UrlEncode("samplefile.xml")); // Replace with name here
HttpContext.Current.Response.BinaryWrite(data);
HttpContext.Current.Response.End();
ms.Flush(); // Probably not needed
ms.Close();
票数 2
EN

Stack Overflow用户

发布于 2012-12-05 23:57:14

你试过..。

代码语言:javascript
复制
Response.ContentType = "text/xml"
Response.Write(MethodThatReturnsXMLDoc().innerXml)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13726864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档