【发布时间】:2015-01-16 19:01:45
【问题描述】:
我有一个 xml 字符串,需要将该字符串下载到 .xml 文件中。我正在开发一个 asp.net Web 应用程序。 以下是我的代码。
protected void btnDownloadXML_Click(object sender, EventArgs e)
{
try
{
string xmltext = divLogResults.InnerText;
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmltext);
doc.Save("myfilename.xml");
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
response.ClearContent();
response.Clear();
response.ContentType = "text/xml";
response.AddHeader("Content-Disposition", "attachment; filename=" + doc.Name + ";");
response.Flush();
response.End();
}
catch(Exception ex)
{
throw ex;
}
}
但我在下载时只得到一个名为#document.xml 的空xml 文本。我做错了什么。
【问题讨论】:
-
您好像忘记了
TransmitFile()刚刚创建的文件。您也可以直接将标记写入 HTTP 响应,这里实际上不需要使用文件作为中间体。 -
恕我直言,最好从 aspx 文件和 create a Handler (ashx) 中提取此逻辑。