求助! 如何将数据库中保存的二进制常量数据取出来保存到xml文件??

大be熊 2014-11-26 06:57:46


]如上图,数据库存的图片数据,字段类型为image
目的:
需要从xml文件中取出保存的数据库数据,并将图片信息能在界面上显示出来
问题:
从数据库中取出的数据格式是byte[], 而我需要将它保存到xml文件中,如何转换?


-- 我承诺能完全解决问题的给全分,如果其他人有答的好的,我会散分并加分!!!

希望大家帮帮忙忙,程序很急!
...全文
166 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
大be熊 2014-11-29
  • 打赏
  • 举报
回复
真心谢谢大家了! 虽然我的问题仍然没有得到解决·· 我能转进xml文件中,但是文件太大了,不方便读取`
大be熊 2014-11-29
  • 打赏
  • 举报
回复
引用 8 楼 lovelj2012 的回复:
不是普通的byte[]数组
是用图片转的
江南小鱼 2014-11-28
  • 打赏
  • 举报
回复
不是普通的byte[]数组
江南小鱼 2014-11-28
  • 打赏
  • 举报
回复
引用 4 楼 u011323004 的回复:
感谢各位的回答 我按照1楼的做法,会报这样的错误!如下图 我用字节数组把图片写进数据库,里面保存的是0x开头的,像16进制一样的。
给你的代码,byte[]是经过序列化。
l2999019 2014-11-27
  • 打赏
  • 举报
回复
引用 1 楼 lovelj2012 的回复:
MemoryStream stream = new MemoryStream();
                    BinaryFormatter _Formatter = new BinaryFormatter();
                    stream.Write(yourDataArray, 0, yourDataArray.Length);
                    stream.Position = 0;
object obj = _Formatter.Deserialize(stream);
stream.Close();
其中yourDataArray是你的byte[]数组 把obj写入xml文件 http://msdn.microsoft.com/zh-cn/library/b85344hz(v=VS.90).aspx
整理一下

//将byte存为流
MemoryStream stream = new MemoryStream();
BinaryFormatter _Formatter = new BinaryFormatter();
stream.Write(yourDataArray, 0, yourDataArray.Length);
 stream.Position = 0;
//将流转换为对象
object obj = _Formatter.Deserialize(stream);
//关闭流
stream.Close();
  • 打赏
  • 举报
回复
如果你这是个考试题,那就算了。 如果是一个实际设计问题,你应该多花5倍的时间考虑——是否应该序列化为xml,是否别的数据保持设计更合理、更直接。 而不是把精力都用在这个问题上。
  • 打赏
  • 举报
回复
当把 byte[] 数据序列化到 string 之前,最好用你的代码先将你的数据实体改为(或者是创建新的实体类型)base64格式的或者hex格式的string。使用byte[]原始方式进行序列化,就算能序列化,也可能只是傻傻地僵化表达 byte[] 的格式,而那种格式往往只应用来表达很少数据、不适合精炼表达大量的 byte[]。
大be熊 2014-11-27
  • 打赏
  • 举报
回复
感谢各位的回答 我按照1楼的做法,会报这样的错误!如下图
我用字节数组把图片写进数据库,里面保存的是0x开头的,像16进制一样的。
chxg99 2014-11-26
  • 打赏
  • 举报
回复
引用 1 楼 lovelj2012 的回复:
MemoryStream stream = new MemoryStream();
                    BinaryFormatter _Formatter = new BinaryFormatter();
                    stream.Write(yourDataArray, 0, yourDataArray.Length);
                    stream.Position = 0;
object obj = _Formatter.Deserialize(stream);
stream.Close();
其中yourDataArray是你的byte[]数组 把obj写入xml文件 http://msdn.microsoft.com/zh-cn/library/b85344hz(v=VS.90).aspx
顶!
江南小鱼 2014-11-26
  • 打赏
  • 举报
回复
MemoryStream stream = new MemoryStream();
                    BinaryFormatter _Formatter = new BinaryFormatter();
                    stream.Write(yourDataArray, 0, yourDataArray.Length);
                    stream.Position = 0;
object obj = _Formatter.Deserialize(stream);
stream.Close();
其中yourDataArray是你的byte[]数组 把obj写入xml文件 http://msdn.microsoft.com/zh-cn/library/b85344hz(v=VS.90).aspx

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧