解析xml格式的word文档(非jar包)-附代码

1 背景

dom4j,Jdom,w3c dom解析xml文档时速度比较慢,因此选择自己写代码解析xml文档。

2 思路

首先,对xml文件进行分析,熟悉标签;

然后,切分文档为不同的块。我们要对文档中的书签进行替换,因此需要将文档切分为书签块和非书签块;

还有就是表格中行的循环,比如当前取出的数据是一个list,我们需要根据list的大小来生成表格中的行数,并对此表格中的书签进行数据替换(如下图),此时,需要将文档进切分为“循环的行块”和非行块。

除此之外,还有需删除的行块,表示该行需要删除,一般用循环的行在合并单元格之后的表格设计上。

最后,对文档中切分好的块进行文档构建。

3 编码

3.1 块切分器

(1)书签切分器BookmarkCutter

 

(2)行切分器RowBookmarkCutter

 

(3)不需处理的书签块(skipCutter)

 (4)删除切分器

(5)整个表格循环切分器

 3.2 构件xml文档

文档切分完成后,分别对不同的块中的进行写入,构件成一个完整的文档。

其中最主要的写入是“书签块的写入”,由于书签块分为“头”“尾”“身体”,身体里包含“文字块”和“非文字”块,书签替换时只需将数据替换到第一个文字块中即可,之后的文字块忽略不计(因为替换的文字很难选择文字块中的某一块的样式,所以选择取第一个文字块的样式)

附上代码下载代码

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值