将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(); }