加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

DataTable读写到XML文件的正确方法(以及对缺少根元素问题的处理

发布时间:2020-12-16 06:16:15 所属栏目:百科 来源:网络整理
导读:有时候需要将DataTable数据保存到xml文件中,在不使用数据库的小程序中、在需要通过网络接口传参数时,经常会有这种需要,操作不好,会出现“缺少根元素”。现在将经过反复测试没有错误的读写两个方法写出来,大家可以修改使用。 写datatable到XML public st

有时候需要将DataTable数据保存到xml文件中,在不使用数据库的小程序中、在需要通过网络接口传参数时,经常会有这种需要,操作不好,会出现“缺少根元素”。现在将经过反复测试没有错误的读写两个方法写出来,大家可以修改使用。


写datatable到XML

public static bool dataTable2EncXml(DataTable dt,string strFilePath)
{
try
{
string strMid = "";
MemoryStream ms = new MemoryStream();
StreamWriter sw = new StreamWriter(ms,System.Text.Encoding.UTF8);
dt.WriteXml(sw,XmlWriteMode.WriteSchema); //必须写入架构,即没有行数据时,也写入列等架构内容,否则,没有行数据时,列数据也会丢失

ms.Position = 0;//复位读取位置
StreamReader sr = new StreamReader(ms,System.Text.Encoding.UTF8);
strMid = sr.ReadToEnd();
sr.Close();
sw.Close();
ms.Close();
strMid = Encrypting(strMid);//加密
if( WriteToFile(strFilePath,strMid) == -1) return false; //一个简单的写文本文件 的小函数
else return true;
}
catch
{
return false;
}
}



读XML到datatable,不会提示缺少根元素

/// <summary> /// 将Xml加密数据读入DataTable /// </summary> /// <param name="filePath">加密XML文件路径</param> public static DataTable Xml2DecDataTable(string filePath) { string strMid = ReadFromFile(filePath); //一个简单的读文本文件函数 strMid = Decrypting(strMid); //解密 //先将XML字串读到xmlDocument中 XmlDocument xd = new XmlDocument(); xd.LoadXml(strMid); //再存入内存流 MemoryStream ms = new MemoryStream(); xd.Save(ms); ms.Seek(0,SeekOrigin.Begin); //datatable就可以正确读取了,不会显示“缺少根元素” DataTable dt = new DataTable(); try { dt.ReadXml(ms); } catch (Exception ex) { } ms.Dispose(); return dt; }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读