无法将数据导出到XML格式在ASP.NET中 - 数据导出为HTML而不是XML
无法将数据导出到XML格式在ASP.NET中 - 数据导出为HTML而不是XML
我想从我的ASP.NET web form应用程序中导出一些数据到一个可下载的XML文件,但是我无法将它显示为一个XML文件。它将信息输出为一个HTML文档而不是XML。
protected void ExportXMLButton_Click(object sender, EventArgs e)
{
using (MemoryStream stream = new MemoryStream())
{
// 创建一个XML文档。将我们的特定值写入文档中。
XmlTextWriter xmlWriter = new XmlTextWriter(stream, System.Text.Encoding.ASCII);
// 写入XML文档头部。
xmlWriter.WriteStartDocument();
// 写入我们的第一个XML头部。
xmlWriter.WriteStartElement("WebApplications");
// 写入表示单个web应用程序对象的元素。
xmlWriter.WriteStartElement("WebApplication");
// 写入我们的web应用程序对象的子元素数据。
xmlWriter.WriteElementString("Date", DateTime.Now.ToString());
xmlWriter.WriteElementString("Programmer", "Label1.Text");
xmlWriter.WriteElementString("Name", "Sample name ");
xmlWriter.WriteElementString("Language", "C# ");
xmlWriter.WriteElementString("Status", "Done");
// 结束元素WebApplication
xmlWriter.WriteEndElement();
// 结束文档WebApplications
xmlWriter.WriteEndElement();
// 通过写入任何所需的关闭标记来完成XML文档。
xmlWriter.WriteEndDocument();
// 为了安全起见,将文档刷新到内存流中。
xmlWriter.Flush();
// 将内存流转换为字节数组。
byte[] byteArray = stream.ToArray();
// 将XML文件发送给web浏览器进行下载。
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();
}
}
我期望的输出是一个XML文件,但实际输出是我的数据作为文本显示在屏幕上。