CN113128178A - 一种通过xml文档对office文件解析的方法 - Google Patents

一种通过xml文档对office文件解析的方法 Download PDF

Info

Publication number
CN113128178A
CN113128178A CN201911406481.5A CN201911406481A CN113128178A CN 113128178 A CN113128178 A CN 113128178A CN 201911406481 A CN201911406481 A CN 201911406481A CN 113128178 A CN113128178 A CN 113128178A
Authority
CN
China
Prior art keywords
document
file
data
xml
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911406481.5A
Other languages
English (en)
Inventor
刘志强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui Baitong Education Technology Development Co ltd
Original Assignee
Anhui Baitong Education Technology Development Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anhui Baitong Education Technology Development Co ltd filed Critical Anhui Baitong Education Technology Development Co ltd
Priority to CN201911406481.5A priority Critical patent/CN113128178A/zh
Publication of CN113128178A publication Critical patent/CN113128178A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开了一种通过xml文档对office文件解析的方法,包括以下步骤:a、将word文件名称为word.docx的扩展名修改为zip,word文件会变成压缩文件,并形成压缩文件名称word.zip;b、通过解压软件对word.zip文件进行解压,并形成多个标准的xml文件。有益效果是:通过获取XML文档读取指令,该读取指令中包括至少一个待读取行标识,根据上述至少一个待读取行标识,在XML文档中读取出上述至少一个待读取行标识对应的至少一行数据,并将这至少一行数据转换为节点树,对该节点树上的节点进行解析,获取解析结果,实现了只需要根据读取指令读取需要读取的行数据即可,而无需读取整个文档,大大降低了计算机内存的消耗,避免了内存溢出的现象。

Description

一种通过xml文档对office文件解析的方法
技术领域
本发明涉及语言解析技术领域,尤其涉及一种通过xml文档对office文件解析的方法。
背景技术
目前市场对MS OFFICE文档进行解析,有两种技术:1、COM解析:安装office办公软件,会在系统进行注册生成COM 接口,然后开发人员对COM接口进行调用,传参拿到文件的实例,对文档各个数据模块(如字体、字号、段落、图表、页眉、页脚等等)进行数据读取解析。缺点:a.由于很多OFFICE用户,安装绿色版或简化版OFFICE,COM组建没有在系统注册,导致程序无法读取文档。 b.安装其它办公软件如WPS,然后没有卸载干净,同样会导致COM无法使用的问题。2、OpenXml 解析:openxml是微软在.net framework3.5中推出的开源项目,在无需安装office的情况下,也能够对office文档数据读取解析。缺点:a.目前OpenXml开发平台仅限于.net framework 3.5以上版本;b.开发语言只能为C#; c..net framework框架有跨平台限制,不能通用于各个平台。
由于上述2种官方推出的解析方式,不能满足我们日常使用的各种场景以及各种平台调用,我们通过研究office文档结构发现,内部文件关系,以及文件类型均为xml文件,进一步测试、验证,得到可行性方案:即可以通过标准的xml文档对Office文档进行解析,解决对.net framewrok的依赖,而且还适应于目前市场主流的开发语言(C、C++、c#、JAVA、python、VB等各种语言和脚本)进行开发,主流的开发语言均支持读取解析标准的xml文件。
发明内容
本发明的目的是提供一种通过xml文档对office文件解析的方法,只需要了解office文档结构,可以对xml文件进行关联解析,读取相应的数据,对想要的数据,只需要加载必要的关联文件进行解析即可,降低了计算机计算和内存消耗,可以达到跨语言、跨平台等特性,方便目前对office文件的终端使用。
本发明的技术方案是这样实现的:
一种通过xml文档对office文件解析的方法,包括以下步骤:
a、将word文件名称为word.docx的扩展名修改为zip,word文件会变成压缩文件,并形成压缩文件名称word.zip;
b、通过解压软件对word.zip文件进行解压,并形成多个标准的xml文件;
c、按照标准的xml文件方式进行解析,读取文档里面所有的内容;
d、根据文档结构,建立对应模型关系,建立对应的名称空间映射,加载公共部分属性,开始读取主文档,对需要提取的数据进行文档关联遍历解析,根据office文档属性存在于多个文件中,每个文件都有对应的id和标识进行关联,得到至少一行数据文档、图形文档。
进一步的,将所读取的所述至少一行数据进行释放。
进一步的,将所述至少一行数据转换为节点树,对所述节点树上的节点依次进行解析,并获取所述xml文档的解析结果。
进一步的,遍历所述节点树上的所有节点,依次对各所述节点进行解析,获取所述xml文档的解析结果。
本发明的有益效果是:
(1)只需要了解office文档结构,既可以对xml文件进行关联解析,读取相应的数据,对想要的数据,只需要加载必要的关联文件进行解析即可,降低了计算机计算和内存消耗,可以达到跨语言、跨平台等特性,方便目前对office文件的终端使用。
(2)根据文档结构,建立对应模型关系,建立对应的名称空间映射,加载公共部分属性,开始读取主文档,对需要提取的数据进行文档关联遍历解析,根据office文档属性存在于多个文件中,每个文件都有对应的id和标识进行关联,得到至少一行数据、图形,在xml文档中读取出标识对应的至少一行数据,并将这至少一行数据转换为节点树,对该节点树上的节点进行解析,获取解析结果,实现了只需要根据读取指令读取需要读取的行数据即可,而无需读取整个文档,大大降低了计算机内存的消耗,避免了内存溢出的现象;另外,只需要将读取的行数据转换为节点树进行解析,提高解析效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种通过xml文档对office文件解析的方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
根据本发明的实施例,提供了一种通过xml文档对office文件解析的方法。
参照图1,根据本发明实施例的xml文档对office文件解析的方法,包括以下步骤
a、将word文件名称为word.docx的扩展名修改为zip,word文件会变成压缩文件,并形成压缩文件名称word.zip;
b、通过解压软件对word.zip文件进行解压,并形成多个标准的xml文件;
c、按照标准的xml文件方式进行解析,读取文档里面所有的内容;
d、根据文档结构,建立对应模型关系,建立对应的名称空间映射,加载公共部分属性,开始读取主文档,对需要提取的数据进行文档关联遍历解析,根据office文档属性存在于多个文件中,每个文件都有对应的id和标识进行关联,得到至少一行数据文档、图形文档。
在一个实施例中,将所读取的所述至少一行数据进行释放。
在一个实施例中,将所述至少一行数据转换为节点树,对所述节点树上的节点依次进行解析,并获取所述xml文档的解析结果。
在一个实施例中,遍历所述节点树上的所有节点,依次对各所述节点进行解析,获取所述xml文档的解析结果。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (4)

1.一种通过xml文档对office文件解析的方法,其特征在于,包括以下步骤:
a、读取office文件,程序对office文件进行解压缩,可以形成多个标准的xml文件;
b、按照标准的xml文件方式进行解析,读取文档里面所有的内容;
c、根据文档结构,建立对应模型关系,建立对应的名称空间映射,加载公共部分属性,开始读取主文档,对需要提取的数据进行文档关联遍历解析,根据office文档属性存在于多个文件中,每个文件都有对应的id和标识进行关联,得到至少一行数据文档、图形文档。
2.根据权利要求1所述的一种通过xml文档对office文件解析的方法,其特征在于,将所读取的所述至少一行数据进行释放。
3.根据权利要求2所述的一种通过xml文档对office文件解析的方法,其特征在于,将所述至少一行数据转换为节点树,对所述节点树上的节点依次进行解析,并获取所述xml文档的解析结果。
4.根据权利要求3所述的一种通过xml文档对office文件解析的方法,其特征在于,遍历所述节点树上的所有节点,依次对各所述节点进行解析,获取所述xml文档的解析结果。
CN201911406481.5A 2019-12-31 2019-12-31 一种通过xml文档对office文件解析的方法 Pending CN113128178A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911406481.5A CN113128178A (zh) 2019-12-31 2019-12-31 一种通过xml文档对office文件解析的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911406481.5A CN113128178A (zh) 2019-12-31 2019-12-31 一种通过xml文档对office文件解析的方法

Publications (1)

Publication Number Publication Date
CN113128178A true CN113128178A (zh) 2021-07-16

Family

ID=76768881

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911406481.5A Pending CN113128178A (zh) 2019-12-31 2019-12-31 一种通过xml文档对office文件解析的方法

Country Status (1)

Country Link
CN (1) CN113128178A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102841886A (zh) * 2011-06-21 2012-12-26 北大方正集团有限公司 拆分文档的方法和装置
CN106469137A (zh) * 2015-08-19 2017-03-01 互联网域名系统北京市工程研究中心有限公司 Xml文档解析方法及装置
CN109783554A (zh) * 2018-12-13 2019-05-21 重庆金融资产交易所有限责任公司 excel文档解析方法、装置及计算机可读存储介质
CN109960608A (zh) * 2017-12-26 2019-07-02 北京安天网络安全技术有限公司 office文档的处理方法和处理系统
CN110569488A (zh) * 2019-08-28 2019-12-13 福建威盾科技集团有限公司 一种基于xml标记语言的模块化模板word生成方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102841886A (zh) * 2011-06-21 2012-12-26 北大方正集团有限公司 拆分文档的方法和装置
CN106469137A (zh) * 2015-08-19 2017-03-01 互联网域名系统北京市工程研究中心有限公司 Xml文档解析方法及装置
CN109960608A (zh) * 2017-12-26 2019-07-02 北京安天网络安全技术有限公司 office文档的处理方法和处理系统
CN109783554A (zh) * 2018-12-13 2019-05-21 重庆金融资产交易所有限责任公司 excel文档解析方法、装置及计算机可读存储介质
CN110569488A (zh) * 2019-08-28 2019-12-13 福建威盾科技集团有限公司 一种基于xml标记语言的模块化模板word生成方法

Similar Documents

Publication Publication Date Title
CN111708539B (zh) 一种应用程序代码转换方法、装置、电子设备和存储介质
CN107608889B (zh) 一种测试脚本自动生成方法及系统
US8028276B1 (en) Method and system for generating a test file
CN110333863B (zh) 一种生成、显示小程序页面的方法及装置
US20060136880A1 (en) System, apparatus and methods for automatic program translation
CN109597618B (zh) 程序开发方法、装置、计算机设备及存储介质
CN108549535B (zh) 一种基于文件依赖关系的高效程序解析方法和系统
CN111324619B (zh) 微服务系统中的对象更新方法、装置、设备和存储介质
CN112364101A (zh) 数据的同步方法、装置、终端设备及介质
CN110825430A (zh) 一种api文档生成方法、装置、设备及存储介质
CN113238740B (zh) 代码生成方法、代码生成装置、存储介质及电子设备
WO2023035563A1 (zh) 小程序跨应用迁移方法、设备、终端、系统及存储介质
CN107748715B (zh) 基于Unity的纹理贴图配置信息检测方法及其系统
CN113778897B (zh) 接口的自动测试方法、装置、设备及存储介质
CN105094787B (zh) 企业互联网应用的处理方法及装置
CN107239265B (zh) Java函数与C函数的绑定方法及装置
CN115794214B (zh) 应用模块元数据管理方法、设备、存储介质及装置
CN112559344A (zh) 远程mock测试方法及系统
CN113128178A (zh) 一种通过xml文档对office文件解析的方法
CN113641594B (zh) 跨端自动化测试方法以及相关装置
CN111259634B (zh) Xsd格式文件的解析方法及生成方法
CN114115900B (zh) 一种脚本编译方法、装置及电子设备
CN113590179B (zh) 插件检测方法、装置、电子设备及存储介质
CN114528218A (zh) 测试程序的生成方法、装置、存储介质以及电子设备
CN113138767B (zh) 代码语言转换方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20210716

RJ01 Rejection of invention patent application after publication