日期:2014-05-18  浏览次数:20818 次

含有图片列的DataTable序列化后还原问题
不让连续顶贴,又没人回答,只好另开一贴。原帖:
HTML code
http://topic.csdn.net/u/20120330/22/a8c32880-14f5-481e-af40-f18db2d133d3.html

各位高手帮帮忙啊

------解决方案--------------------
写入时用DataSet的WriteXml(内存流, XmlWriteMode.WriteSchema);

读取时用DataSet的ReadXml(内存流);

你原来的方法会导致DataSet的架构丢失,而引起新建立的DataSet架构不正确.

------解决方案--------------------
我想你使用DataTable、DataSet是因为它比较“无模式”吧?

既然没有模式,你就要付出代价。自己写一大堆序列化和解析的代码。你需要在所谓的序列化之前,先将所有的图片用你自己的序列化程序转换为一种格式(例如数据类型t),然后在接收端确保原封不动地接收到同一类型(t)的数据,再自己单独再次反序列化这些特殊数据。

------解决方案--------------------
你用 GetBytes 转化显然是不对的。应该是16进制格式的string 转成byte[],例如, "ae00cf"转换成0xae00cf

http://www.cnblogs.com/Mainz/archive/2008/04/09/1144242.html