如何用XML文件来保存文件流信息,回复者给分!

hy_david 2003-03-24 04:25:48
我要实现这样个功能,将所上载的文件(或以是word文档或图片等)流保存到XML串节点中,然后在需要时,读取该XML串节点的文件流,重新恢复该文件.有什么方法将文件流保存及读取好呢?

我使用了下面方法,文件流是可以加到XML串中,但我要用XmlDocument.LoadXML(strXML)时就报错,说节点不正常结束等信息,我想是由于该文件流中串全是乱码引起的吧。

StreamReader Sr = new StreamReader((strPath,System.Text.Encoding.Default);
string strFileInfo = Sr.ReadToEnd();
string strXml = "<Root><FileInfo><![CDATA[" + strFileInfo + "]]><FileInfo></Root>";
...全文
107 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
thinkc 2003-03-24
  • 打赏
  • 举报
回复
试试将文件的二进制流文件进行序列化后保存,使用时再反序列化一下。


我没试过
timmy3310 2003-03-24
  • 打赏
  • 举报
回复
但是保存文件会影响到数据传递吗?

如果你要写Dispose方法,请实现IDisposable接口
Knight94 2003-03-24
  • 打赏
  • 举报
回复
为什么不用System.Xml.XmlTextWriter、System.Xml.XmlTextReader
hy_david 2003-03-24
  • 打赏
  • 举报
回复
为何我不能在组件中重写Dispose()方法呢
public void Dispose()
{
//....代码........
hy_david 2003-03-24
  • 打赏
  • 举报
回复
可我需要用XML文件来传送数据(包括文件的)的。继续努力!!!
hy_david 2003-03-24
  • 打赏
  • 举报
回复
sorry! 刚写借了,
string strXml = "<Root><FileInfo><![CDATA[" + strFileInfo + "]]
></FileInfo></Root>";
timmy3310 2003-03-24
  • 打赏
  • 举报
回复
建议你生成临时文件保存,然后在XML里面保存文件名比较好

如果XML很大,使用Dom解析XML的开销是很大的

110,571

社区成员

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

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

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