ASP.NET 将XML文件下载到本地
2014-12-23 08:07
323 查看
/// <summary>
/// 生成导出的XML文件 并实现下载
/// </summary>
/// <returns>生成的文件名称</returns>
private void SetXMLFile(string condition)
{
DataTable dt = null;
if (dwzdb != null)
{
//根据日期查询要导出的数据
switch (flag)
{
case "LZDB":
dt = Family.GetCheckList(stepId, dwzdb.Code, flag, condition);
break;
case "LZDBNS":
dt = BussinessUtilNS.GetCheckList(nsnf, dwzdb.Code,flag, condition);
break;
}
}
if (dt != null)
{
//生成要导出的xml文档
string xml = "<DocumentElement></DocumentElement>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
XmlElement element = doc.DocumentElement;
XmlElement houseCheckNode = null;
XmlElement childNode = null;
foreach (DataRow dr in dt.Rows)
{
houseCheckNode = doc.CreateElement("HOUSECHECK");
childNode = doc.CreateElement("JTBH");
childNode.InnerText = dr["JTBH"].ToString();
houseCheckNode.AppendChild(childNode);
childNode = doc.CreateElement("XM");
childNode.InnerText = dr["XM"].ToString();
houseCheckNode.AppendChild(childNode);
childNode = doc.CreateElement("ZJHM");
childNode.InnerText = dr["ZJHM"].ToString();
houseCheckNode.AppendChild(childNode);
element.AppendChild(houseCheckNode);
}
//将xml文档输出
System.IO.MemoryStream ms = new System.IO.MemoryStream();
doc.Save(ms);
string filename = this.GetFileName();
filename = Server.UrlEncode(filename);
Response.ContentEncoding = Encoding.GetEncoding("utf-8");
Response.AddHeader("Content-Disposition", "attachment; filename=" + filename);
Response.AddHeader("Content-Length", ms.Length.ToString());
Response.ContentType = "application/octet-stream";
byte[] b = ms.ToArray();
Response.OutputStream.Write(b, 0, b.Length);
Response.OutputStream.Flush();
Response.OutputStream.Close();
HttpContext.Current.ApplicationInstance.CompleteRequest();
//string filePath = "你自己的路径";
//FileInfo DownloadFile = new FileInfo(filePath);
//HttpContext.Current.Response.Clear();
//HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(DownloadFile.Name, Encoding.UTF8));
//HttpContext.Current.Response.AppendHeader("Content-Length", DownloadFile.Length.ToString());
//HttpContext.Current.Response.WriteFile(DownloadFile.FullName);
//HttpContext.Current.Response.Flush();
//HttpContext.Current.Response.End();
}
else
{
dtlist.InnerHtml = " <span style='color:red'>查验错误!</span>";
}
}
/// 生成导出的XML文件 并实现下载
/// </summary>
/// <returns>生成的文件名称</returns>
private void SetXMLFile(string condition)
{
DataTable dt = null;
if (dwzdb != null)
{
//根据日期查询要导出的数据
switch (flag)
{
case "LZDB":
dt = Family.GetCheckList(stepId, dwzdb.Code, flag, condition);
break;
case "LZDBNS":
dt = BussinessUtilNS.GetCheckList(nsnf, dwzdb.Code,flag, condition);
break;
}
}
if (dt != null)
{
//生成要导出的xml文档
string xml = "<DocumentElement></DocumentElement>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
XmlElement element = doc.DocumentElement;
XmlElement houseCheckNode = null;
XmlElement childNode = null;
foreach (DataRow dr in dt.Rows)
{
houseCheckNode = doc.CreateElement("HOUSECHECK");
childNode = doc.CreateElement("JTBH");
childNode.InnerText = dr["JTBH"].ToString();
houseCheckNode.AppendChild(childNode);
childNode = doc.CreateElement("XM");
childNode.InnerText = dr["XM"].ToString();
houseCheckNode.AppendChild(childNode);
childNode = doc.CreateElement("ZJHM");
childNode.InnerText = dr["ZJHM"].ToString();
houseCheckNode.AppendChild(childNode);
element.AppendChild(houseCheckNode);
}
//将xml文档输出
System.IO.MemoryStream ms = new System.IO.MemoryStream();
doc.Save(ms);
string filename = this.GetFileName();
filename = Server.UrlEncode(filename);
Response.ContentEncoding = Encoding.GetEncoding("utf-8");
Response.AddHeader("Content-Disposition", "attachment; filename=" + filename);
Response.AddHeader("Content-Length", ms.Length.ToString());
Response.ContentType = "application/octet-stream";
byte[] b = ms.ToArray();
Response.OutputStream.Write(b, 0, b.Length);
Response.OutputStream.Flush();
Response.OutputStream.Close();
HttpContext.Current.ApplicationInstance.CompleteRequest();
//string filePath = "你自己的路径";
//FileInfo DownloadFile = new FileInfo(filePath);
//HttpContext.Current.Response.Clear();
//HttpContext.Current.Response.ContentType = "application/octet-stream";
//HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(DownloadFile.Name, Encoding.UTF8));
//HttpContext.Current.Response.AppendHeader("Content-Length", DownloadFile.Length.ToString());
//HttpContext.Current.Response.WriteFile(DownloadFile.FullName);
//HttpContext.Current.Response.Flush();
//HttpContext.Current.Response.End();
}
else
{
dtlist.InnerHtml = " <span style='color:red'>查验错误!</span>";
}
}
相关文章推荐
- c# ASP.NET 下载文件到本地
- asp.net 弹出下载对话框 将文件从服务器下载到本地
- asp.net实现服务器文件下载到本地的方法
- ASP.NET获取远程网页下载到本地文件,通过URL生成静态文件的做法
- asp.net(c#)从url网络地址下载图片或文件到本地硬盘
- ASP.NET(C#) Web Api通过文件流下载文件到本地实例
- asp.net从服务器(指定文件夹)下载任意格式的文件到本地
- ASP.NET获取远程网页下载到本地文件
- asp.net 弹出下载对话框 将文件从服务器下载到本地
- asp.net实现服务器文件下载到本地
- js 下载图片与下载文件的方式一样;保存至本地 ASP.NET 方式
- Asp.net 2.0 装载XML文件中数据到Excel文件中(示例代码下载)
- ASP.NET获取远程网页下载到本地文件
- 【ASP.Net】下载服务器端txt或者xml文件
- ASP.NET获取远程网页下载到本地文件
- ASP.NET利用输出流生成下载文件(doc、xml..)
- ASP.NET(C#) Web Api通过文件流下载文件到本地实例
- Asp.net 2.0 装载XML文件中数据到Excel文件中(示例代码下载)
- Asp.net 2.0 装载XML文件中数据到Excel文件中(示例代码下载)
- Asp.net 2.0 装载XML文件中数据到Excel文件中(示例代码下载)