驾校理论考试系统之数据提取三(1)

 

2012年5月1日

驾驶员考试新题库.doc

GetDirectoryAndXML.zip

源文件

 

 

 

 

 

从网上下载的驾驶员考试新题库,我们要做的就是把信息从Word中提取到数据库Sqlite

目的:

将文档中的目录转化为文件夹,和文件的形式,示例:文件夹"与自行车礼让"包含有两个word文件,单选和判断

这样做是为了便于处理和分析

分析文档:

文档比较大199页, 将近一千个题目,而且根据我们的数据库

包括有:问题,答案,类型,所属类型,图片,视频五种不同的数据要提取

比较麻烦。。。。。

在看我们的文档:

目录部分可以提取出类型:单选,判断,多选

存储在表COMPREHENSIVE_EXAM或OTHEREXAM的Type列

所属类型:如:恶劣气候和复杂道路条件下驾驶常识,存储在NODE表的NodeName中,其中如节点ParNode为null;

或是它的自己节点通过桥梁隧道的安全驾驶存储在NODE表的NodeName中,其中如节点ParNode指向恶劣气候和复杂道路条件下驾驶常识

再来看问题部分:

题目和四个选项,我们去掉前面的标号,1.,A.,B.,C.,D.

然后题目和选项,我们用"\n"换行符隔开题目和选项,类似这种形式

"动画1中有几种违法行为?(打电话,不系安全带)\n一种违法行为\n二种违法行为\n三种违法行为\n四种违法行为"

存储存储在表COMPREHENSIVE_EXAM或OTHEREXAM的Question中。

答案:B ,提取出B,然后将其在程序中转换成0010,也就是2,如果是ABCD则为1111,15,依次类推。

又如此题其中包括有动画1 ,我们需要将题目中的动画1 转换成

" 动画1"存储在表COMPREHENSIVE_EXAM或OTHEREXAM的Video

图片我们通过程序转换 成byte[]类型,在写入Image属性。

看上去蛮麻烦的,所以我们要将其细分,怎么分呢?

根据所属类型和类型,生成多个文档和word就像这样

所属类型,违法行为的综合判断与案例分析-》案例分析-》单选,多选WORD

步骤一:目录分析

将目录文档存入1.txt

然后分析道:一级目录,也就是ParentNode前面是中文的一、,而二级目录则是(一),类型:单选,多选则包含在()括号里面,用、隔开,我们想到了Strings. Split 方法,分成3段都是用"\t"制表符隔开的,"一、"或"(一)","违法行为综合判断和分析","(单选8,多选3)","- 3 -"。然后在split分隔出"单选"和"多选"。

注意:这里面的安全行车知识前面没有中文一二,所以加上了"二",还有就是,"常见交通标志、标线和交警手势信号辨识"这种情况下,""要去掉。还有遇畜力车(牲畜)的礼让,要将括号(牲畜)去掉,避免与(单选8,多选3)发生干扰

步骤二:代码生成文档和XML文件

需要注意的是,最好把一些数据生成XML文件,这样便于后期处理和编辑。

步骤三:将数据"2012年5月1日驾驶员考试新题库.doc"添加到各个小的Docx中。

苦逼的是,只能是一部分一部分的复制粘贴,痛苦了很久,最后还好完成了,不过由于需要将所有的word文档中题目的形式一致化,出现不同就会出现问题。后面编程一定会出现问题,你需要不断的修改word文档以符合相应的形式

  1. 大客车倒车时遇到这种情况怎样做以保证安全?(图3.9.2)

  1. 低速缓慢倒车
  2. 主动停车避让
  3. 连续鸣喇叭示意
  4. 向右转向倒车

答案:B

也就是,第一行为题目,第二行为图片,三四五六行为选项,最后为答案,而且题目行前面,必须是,编号格式,选项也是的ABCD

接下来我们继续将数据填入word中的数据填入data.xml

 

 

 

posted @ 2012-07-18 23:31  zuizuihao  阅读(722)  评论(0编辑  收藏  举报