驾校理论考试系统之数据提取三(1)
从网上下载的驾驶员考试新题库,我们要做的就是把信息从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
步骤一:目录分析
然后分析道:一级目录,也就是ParentNode前面是中文的一、,而二级目录则是(一),类型:单选,多选则包含在()括号里面,用、隔开,我们想到了Strings. Split 方法,分成3段都是用"\t"制表符隔开的,"一、"或"(一)","违法行为综合判断和分析","(单选8,多选3)","- 3 -"。然后在split分隔出"单选"和"多选"。
注意:这里面的安全行车知识前面没有中文一二,所以加上了"二",还有就是,"常见交通标志、标线和交警手势信号辨识"这种情况下,"、"要去掉。还有遇畜力车(牲畜)的礼让,要将括号(牲畜)去掉,避免与(单选8,多选3)发生干扰
步骤二:代码生成文档和XML文件
需要注意的是,最好把一些数据生成XML文件,这样便于后期处理和编辑。
步骤三:将数据"2012年5月1日驾驶员考试新题库.doc"添加到各个小的Docx中。
苦逼的是,只能是一部分一部分的复制粘贴,痛苦了很久,最后还好完成了,不过由于需要将所有的word文档中题目的形式一致化,出现不同就会出现问题。后面编程一定会出现问题,你需要不断的修改word文档以符合相应的形式
-
大客车倒车时遇到这种情况怎样做以保证安全?(图3.9.2)
-
低速缓慢倒车
-
主动停车避让
-
连续鸣喇叭示意
-
向右转向倒车
答案:B
也就是,第一行为题目,第二行为图片,三四五六行为选项,最后为答案,而且题目行前面,必须是,编号格式,选项也是的ABCD
接下来我们继续将数据填入word中的数据填入data.xml