用XML还是数据库我想了好长时间,首先数据库只能有二维表,无法实现XML任意层次的嵌套,必然导致表之间关系复杂,处理起来更加麻烦,而现在的关键问题是时间紧急,如果用数据库设计时间就要占很多。而用XML只要一个临时模板文件就可以完全解决,生成报表之后不存储在XML或者数据库中,直接用文本文件存储,通过jsp或者别的技术筛选后用IE的Data Bind技术可以直接显示(界面通过报表模板,也就是通过XML/XSL形成),这样工作量又少了很多,前一阵一直玩英雄无敌4,呵呵,现在上面压下来,时间有些不够,所以想看看大家对这个输入约束模板的结构有什么好办法。

解决方案 »

  1.   

    最好利用数据库来管理文件,因为文件关系相对比较复杂,利用数据库的功能能够
    帮助你更好的管理文件推荐你可以用一些免费的不错的数据库,如:
    mysql,postgresql等,性能对付你这个小系统绰绰有余了
    :)
      

  2.   

    飘扬,可能我说的不够清楚,有很多需要后台处理的,比如每个人给同级别或者下属的分数都要记录的,这个模板其实指的是存储数据和检验输入合法性的一个临时XML文档,这是我现在的做法,如果用数据库,表结构如何建立请指教
      

  3.   

    用数据库也可以?我对XML不熟悉,要是我做,那是一定要用数据库的了
      

  4.   

    数据库,XML,甚至文本文件都可以,无非是数据存储,然后分析,关键是那种方法实现最简单,可操控,时间紧急,大家多帮帮忙了。
    英雄无敌4出来一段时间了,内存管理有些问题,至于和前几代相比好还是坏大家看法都不一样,呵呵
      

  5.   

    用XML,我觉得工作量绝对不小,并且用文本文件存储,用jsp过滤,效率低下。
    建议使用数据库,很简单的,我分析了一下,可用数据库,表定义如下:
    (u->uni key)(p->pri key)
    表一:用户ID(u),用户级别,用户名,部门ID(u) 
    表二:部门ID(p),部门名 
    表三:部门ID(u),分值级别(同级0,上下级1,下上级2,可扩充)(u),权值。
    表四:部门ID(p),项目ID,项目分值(记录各部门考核信息)
    表五:项目ID(p),项目名
    表六:用户ID(u),打分用户ID(u),部门ID,时间,项目ID,实际评分值。
    我觉得这样可以基本满足要求。开发量也比较小,就是页面表示和数据库操作。PS,英雄4怎么样?我也非常想见识见识,我是英雄2迷 :)。
      

  6.   

    大家,如果能给我想一个好办法,什么新游戏都可以替你搞到,现在除了泥潭,大家还能提一点建设性的建议吗?泥潭的思路我看了,和我现在的方案比更加复杂,并且分析有一些问题,毕竟我说话乱七八糟的,呵呵,我晚上结帖了,看还有没有能帮帮忙的。
    顺便再问一个小问题,因为我对XML也只是应用,对于解析器的原理不太熟悉,想问一下,一个100*100的XML文件和一个100*100*100的XML文件如果想查找某一叶子节点,并且已知从根节点到这个节点的路由,那么从理论上来说,最大查找次数两个文件的比应该是2:3还是1:100,或者是其他?
      

  7.   

    我以为你的这个系统是要用数据库的,虽然用xml也可以,但是如果数据量稍大一些,如何优化是问题,毕竟xml解析速度还是不够快
    你这个数据库表也不复杂啊,从你列出来的这些需求,不就那几个对应表,没时间仔细看,看看前面人给你的建议
      

  8.   

    呵呵呵,看来我的理解有问题,不过 hht(影舞者) ,我以前曾经按照xml规范用标准C作过一个我们自定义的解释器,类似于jsp的解释,很小巧,数据量一般都很小,可是优化了几次,效率还是不高,你的需求我还是建议用数据库,再说数据库用于数据的存储,xml用于数据传递或者表示,我认为没有矛盾的。从哪里能买到,英雄无敌,我真的很想玩。
      

  9.   

    联邦软件专卖就有啊,48一套不算贵,有详细的中文说明。可玩性感觉还行,有很多新的亮点,战术上因为英雄的参战丰富了许多,而且不同职业的英雄玩法完全不同。
    还有,为什么会在这里讨论这个?
    hehe,不好意思影舞者,你的问题我一时也想不出什么好建议。个人感觉操作数据库比xml要简单高效一些,关键是如何合理的定义表结构以适用你的需求,可能需要你静下来仔细想一想。