将datatable写入XML文件

来源:互联网 发布:男生办公鼠标推荐 知乎 编辑:程序博客网 时间:2024/06/06 12:52
/// <summary>        /// 根据数据表创建xml文件        /// </summary>        /// <param name="fileFullName">生成文件名称</param>        /// <param name="table">数据表</param>        public static void CreateXML(String fileFullName, System.Data.DataTable table)//, params string[][] added        {            //string strTmp = System.IO.Path.GetDirectoryName(fileFullName);             //if (!System.IO.Directory.Exists(strTmp))            //    //System.IO.Directory.Delete(strTmp, true);            //    System.IO.Directory.CreateDirectory(strTmp);            XmlTextWriter writer = new XmlTextWriter(fileFullName, System.Text.Encoding.Default);// System.Text.Encoding.UTF8 //System.Text.Encoding.GetEncoding("gb2312")            writer.Formatting = System.Xml.Formatting.Indented;            writer.WriteStartDocument();            writer.WriteStartElement("dataset");            writer.WriteStartElement("head");            writer.WriteAttributeString("colmunnum", table.Columns.Count.ToString());            foreach (DataColumn col in table.Columns)            {                writer.WriteStartElement("colmun");                writer.WriteAttributeString("id", col.Caption);                writer.WriteEndElement();            }            writer.WriteEndElement();            writer.WriteStartElement("rows");            writer.WriteAttributeString("rownum", table.Rows.Count.ToString());            foreach (DataRow row in table.Rows)            {                writer.WriteStartElement("row");                for (int i = 0; i < table.Columns.Count; i++)                {                    writer.WriteStartElement("colmun");                    writer.WriteAttributeString("id", table.Columns[i].Caption);                    writer.WriteAttributeString("value", row[i] == null ? "" : row[i].ToString());                    writer.WriteEndElement();                }                writer.WriteEndElement();            }            writer.WriteEndElement();            writer.WriteEndElement();            writer.WriteEndDocument();            writer.Flush();            writer.Close();        }


原创粉丝点击