如何将数据库中的表导成XML文件
时间:2022-03-13 22:54
1.现将数据库中的信息读到DataTable中
2.用函数将DataTable转为string
private string ConvertDataTableToXML(DataTable dt) { if (dt != null) { MemoryStream ms = null; XmlTextWriter XmlWt = null; try { ms = new MemoryStream(); XmlWt = new XmlTextWriter(ms, Encoding.Unicode); dt.TableName = "Table"; /*给DataTable一个名字,随便起一个就行,没实际意义,但不写会报错*/
dt.WriteXml(XmlWt, XmlWriteMode.WriteSchema); /*WriteXml方法为.Net自己封装的方法,不支持overwrite,但.Net提供了多种WriteXml方法,可根据自己的需求选择,WriteXml(XmlWt, XmlWriteMode.WriteSchema)会导出一个表头,方便之后将xml文件重新导入数据库;WriteXml(XmlWt)导出的xml文件不包括表头,会出现缺列问题,如果某一列数据为null,那么那一列会不写*/
int count = (int)ms.Length; byte[] temp = new byte[count]; ms.Seek(0, SeekOrigin.Begin); ms.Read(temp, 0, count); UnicodeEncoding ucode = new UnicodeEncoding(); string returnValue = ucode.GetString(temp).Trim(); return returnValue; } catch (System.Exception ex) { throw ex; } finally { if (XmlWt != null) { XmlWt.Close(); ms.Close(); ms.Dispose(); } } } else { return ""; } }
3.写文件
public void WriteStream(string sFileName, string sContent) { Response.ClearContent(); Response.AddHeader("content-disposition", "attachment; filename=" + sFileName); Response.ContentType = "text/xml"; Response.Write(sContent); Response.End(); }
如何将数据库中的表导成XML文件,布布扣,bubuko.com