如果不用数据库,可能XML是最好的选择了。可以说这是最好的文本数据库了,操作很方便,又很流行……,:)
但速度当然会……,不过如果是本地的,是应用程序,一般没什么问题。

解决方案 »

  1.   

    我也考虑过数据用xml存储,但是,如果有xml存储数据的话。第一,数据是文本形式的,安全性无法得到保证。
    第二,性能是个问题,如果用dom解析的话,当数据量达到数十兆,乃至数百兆的时候,
    速度如何,我没有这方面的经验,不过肯定应该不快吧?有没有大虾知道outlook express是如何做的?
      

  2.   

    outlook express是将内容放在一个文件中,然后再做一个文件做索引,实际上等于是自己实现一个小型数据库。
      

  3.   


    foxmail也差不多了:)我们可以这样考虑:如果不用数据库,我们只有两种选择:文本文件或二进制文件。
    文本文件来做最大的问题一是安全二是速度,对于XML来说,安全没办法了,速度如果用SAX来说不会有太大问题,(因为是作数据库来用,不必要用DOM吧?)。用二进制文件来保存,你自己定义好每条记录的格式,写对象流的方式很容易实现,安全性有保障了,但要提高效率还在于自己要有好的算法来添加、检索、更新等。
      

  4.   

    to:sharetop(天生不笨)"(因为是作数据库来用,不必要用DOM吧?)"
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    为什么?数据库操作肯定涉及到更新,删除等,好像sax实现不了吧?sax好像只能分析xml,不能修改xml,而且sax不能对xml文档做全面的描述,也无法
    实现很多其他的数据库功能吧。(要不就是我孤陋寡闻了,呵呵)
      

  5.   

    完全可以自己做一个文本格式,为什么一定要用xml
      

  6.   


    对,SAX只能解析不能修改,我考虑有误,只想到读的快点。我用MSXML在BCB下做了一个桌面应用,是DOM方式的,感觉还不算慢。
    JAVA下的DOM也做过,速度感觉不出来,可能是数据量不算太大的原因吧。如果不用XML,文件格式可以自己定义,只要算得快,对吧?
    其实在这里用XML不是它的强项。你的问题可能最好的方法还是自定义一个二进制结构的文件吧。
      

  7.   

    to sharetop:小弟愚笨,请教二进制文件结构怎么定义?