APP下载

OXML结构化格式的Word试卷智能处理系统

2020-02-01吴为民

现代计算机 2020年34期
关键词:数据库系统

吴为民

(福建船政交通职业学院信息与智慧交通学院,福州350007)

0 引言

目前大多数的试卷系统,都把题库导入到数据库中,然后生成试卷时从题库中抽题形成试卷。这样的作法一是试卷的保密程度不够高,而且对于大量用图形图像的试题的支持不好,大部分只能支持文字类的试题。以Word文件直接作为题库的数据库,避免了按照常规的做法,题目需要导入到数据库中过程的繁琐和存在泄密的风险;而且实现题库的本地化,利用Word直接维护题库,可操作性和可视化程度高,以及对有图像的理工类的题目支持非常好[1-2]

1 Word文档的XML结构

较早的Word格式doc被称为“二进制”格式。从2007 Microsoft Office System开始,Microsoft Office使用基于Open XML的文件格式,例如.docx、.xlsx和.pptx。这些格式和文件扩展名适用于Microsoft Word、Micro⁃soft Excel和Microsoft PowerPoint。利用Word文档的XML结构,我们通过程序对Word文档进行增删改查的处理,实现类似数据库的功能,为将Word文档直接作为数据库奠定基础。

Docx文件是XML文件的Zip存档。最简单的Word文档的主要文档结构包含以下XML元素[3-4]:

其中:document:文档部分的根元素,它定义了主要文档的结构。Body:主体—用于收集构成文本的块级结构的容器。P:段。R:段落中的分句。T:文本。

2 Python的Word文档SDK

存在几个可用于在Python中读写MS Word文件的库。但是,由于其易用性,我们将使用python-docx模块。python-docx是用于创建和更新Microsoft Word(.docx)文件的Python库。在终端中执行以下pip命令,以加载python-docx模块,如下所示:

$pip install python-docx

使用python-docx模块,我们有3种不同的数据类型:

document:整个文档的Document对象。

Paragraph:文档对象内段落的段落对象。

Run:每个“段落”对象包含一个“运行”对象列表。

图1 Word基本数据结构

登录APP查看全文

猜你喜欢

数据库系统
Smartflower POP 一体式光伏系统
WJ-700无人机系统
ZC系列无人机遥感系统
基于PowerPC+FPGA显示系统
半沸制皂系统(下)
连通与提升系统的最后一块拼图 Audiolab 傲立 M-DAC mini
数据库
数据库
数据库
数据库