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();
}
04-14 05:44