logo

原创:ASP.NET把DataTable转成XML文件的函数(DataSet转XML也可以)

时间:2009-11-24 23:36:19 来源:原创 作者:dodo

下面我将用ASP.NET把DataTable的数据转成XML格式,并输出生成XML文件。

数据库表position有三个字段:

字段名             字段类型
position_id         int
position_name   varchar
position_desc     varchar

下面是Datatable转XML的生成源码:

C# Code [http://www.xueit.com]
protected void Page_Load(object sender, EventArgs e) { //通过数据访问层把position读取到Datatable BizRules.PersonnelDAL pl = new PersonnelDAL(); DataTable dt = pl.Getposition(); StringBuilder str = new StringBuilder(); str.Append(DataTableToXml(dt)); this.CreateXml(str.ToString(), "test.xml"); Response.Write("生成test.xml成功"); } /// <summary> /// 生成文件 /// </summary> /// <param name="val"></param> /// <param name="filename"></param> public void CreateXml(string val, string filename) { UnicodeEncoding ucode = new UnicodeEncoding(); StreamWriter sw = new StreamWriter(Server.MapPath(filename)); sw.WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); sw.WriteLine(val); sw.Close(); sw.Dispose(); } /// <summary> /// 转换成XML格式字符串 /// </summary> /// <param name="dt"></param> /// <returns></returns> public string DataTableToXml(DataTable dt) { StringBuilder strXml = new StringBuilder(); strXml.AppendLine("<XmlTable>"); for (int i = 0; i < dt.Rows.Count; i ) { strXml.AppendLine(" <rows>"); for (int j = 0; j < dt.Columns.Count; j ) { strXml.AppendLine(" <" dt.Columns[j].ColumnName ">" dt.Rows[i][j] "</" dt.Columns[j].ColumnName ">"); } strXml.AppendLine(" </rows>"); } strXml.AppendLine("</XmlTable>"); return strXml.ToString(); }

下面看下生成XML文件的效果:

<?xml version="1.0" encoding="utf-8"?>
<XmlTable>
 <rows>
  <position_id>29</position_id>
  <position_name>业务员</position_name>
  <position_desc></position_desc>
 </rows>
 <rows>
  <position_id>30</position_id>
  <position_name>业务经理</position_name>
  <position_desc></position_desc>
 </rows>
 <rows>
  <position_id>31</position_id>
  <position_name>业务总监</position_name>
  <position_desc></position_desc>
 </rows>
</XmlTable>

 

如果你使用DataSet,可以把DataSet转成Datatable,再使用上面的方法就可以了。

本文版权归学IT网(www.xueit.com)所有,任何单位与个人转载必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

标签:DataTable转成XML
100%

回复:原创:ASP.NET把DataTable转成XML文件的函数(DataSet转XML也可以)

0 / 5000