解决方案 »
- 窗体上包含多个datagridview,何时赋值
- 我想用GUI写一个小程序,可以用打开对话框打开一个C#原文件,然后程序能自能调用framework 2.0 csc 进行编译生成exe文件
- 求教:怎么样在C#中用按钮控制图片的放大与缩小,就是两个按钮一个放大一个缩小小弟请教..
- 做了一个服务程序,想带参数传入,不知如何做?
- 怎么样把一个大的xml(50M)文件异步的加载到treeview?
- c# winform开发中 我想把word像打印预览一样显示出来希望有高手可以不吝赐教!
- 如果您正处于进程当中,信息有可能丢失。
- C#多线程并发(请问一下这个是不是线程的并发啊?)
- 关于RGB颜色的反色
- C# 通过反射机制动态获取 exe 中的变量信息
- 后台代码,该怎么判断:现在鼠标是不是在一个Button控件的上面?
- C#串口的打包 拆包 协议不太明白 求高手解答
我的dat文件是/dat目录下 所有xml的合体...
当我读取到一个完整的xml的文本时,如何把它当作xml文件来操作?
即如何 实现 (xml)string 的方法?
或者使用嵌入式数据库。
或者你自己写一个简单的文件数据库。但是你要真正按照数据库基本原理去设计。你的“搜索区”显然有点简单,它应该是两个链表,一个链表是所有已经使用过的数据块,一个是释放了空间(删除了xml内容)以后空余出来的数据块。
.dat文件 在每一次 \dat目录下的某个xml文件 发生变动时,都会被重新创建。
所以.dat文件只有 被检索的业务需要,所以我设计的偏向简单。
请问大侠,“并且在表达为一个xml,写入文本文件。”可否说明一下怎么处理的呢?
那你想的也太简单了吧!目录下的某个xml文件发生变动时,你只要从.dat文件中顺序搜索到相应的数据块,把它从已分配队列上摘下并连入(按照偏移地址排序的)空闲队列上,然后在空闲队列上找到一块大小合适的数据块摘下来放入已分配队列中,并且写入数据,这就行了。当然相邻的空闲数据块应该可以合并为一个空闲数据块。这用不着“重新创建”文件。
大侠的是合情合理的方法,我的是投机倒把的方法,呵呵,
下面,检索出来的xml文本 ,即
br.Read(buffer, 0, buffer.Length);
string result = Encoding.Default.GetString(buffer);
这个可以转化成 xml文件来处理吗?如果不行的话,我之前的编码就要推翻了...
把多个xml字符串装入一个string数组,并且把这个string数组再序列化表达为一个xml,然后把这个xml再写入一个文本文件。当然这是最初始的做法,不考虑性能。而当需要重构时,我建议就直接使用嵌入式数据库就行了。后边说到了有关“两个链表”的文件数据块管理结构,是因为考虑到你的关于“搜索区、内容区”的数据结构而提出的。
doc.LoadXml(string),
你是这个意思吗?