使用pugixml开源库接口并扩展,解析Word 文字和table 上下行位置关系

1.遍历指定节点下所有节点,包括当前节点下各个层的节点,判断某个节点的存在否
2. find_node()函数使用,predicate 参数构造传入方法
3. 获取当前word文档的格式,并按照原文将文字段落和表格的上下行位置关系还原所以需要确认纯文字段落的位置和table的位置

std::vector<std::string> duckx::Document::get_elements() const
{std::vector<std::string> allElements;pugi::xml_object_range<pugi::xml_node_iterator> childs = document.child("w:document").child("w:body").children();struct allow_remote_predicate{bool operator()(pugi::xml_node node) const{return strcmp(node.name(), "w:t") == 0;}};for (auto& it_child : childs) {if ( strcmp(it_child.name() , "w:p") == 0 ){         //  w:body/ w:p / w:r/ w:t="ass"if(it_child.find_node(allow_remote_predicate()) != nullptr ) {printf("find a  *** %s \n",it_child.find_node(allow_remote_predicate()).name());allElements.push_back("w:p");continue;}}else if (strcmp(it_child.name(), "w:tbl") == 0){printf("find a w:tbl \n");allElements.push_back(it_child.name());}}printf("the total row = %d\n",(int) allElements.size());return allElements;
}

总结:find_node()参数需要按照官网例子方法自己构造,注意返回值,当前节点所有子节点没有找到这个目标就会返回一个空节点,而不是false

pugixml解析Word相关推荐

  1. 缩进一个字符_解析Word——Word段落格式中的几种缩进(中)

    一些闲言碎语 想要打破Word的二八定律何其难呀!80%的人仅使用了Word20%的功能!我见到了太多太多把Word当记事本去用的人.因为Word的门槛非常低,几分钟便能掌握一个功能,而且许多功能未免 ...

  2. poi 顺序解析word_JavaPOI解析word提取数据到excel

    Java POI解析Word提取数据存储在Excel 一.了解POI POI以前有了解,这次需求是解析word读取其中标题,还有内容赛选获取自己想要的内容 经过两天的学习,开始熟悉Java这么读取wo ...

  3. WPF解析Word为图片

    偶遇需要解析Word为单张图,此做 http://git.oschina.net/jiailiuyan/OfficeDecoder using System; using System.Collect ...

  4. java解析word示例(支持docx、doc,wps格式)

    1.导入pom.xml 需要先导入解析插件包 <!-- POI-word文件处理需要 --><dependency><groupId>org.apache.poi& ...

  5. java 解析word模板为xml, 动态填充数据到xml,最后输出word文档

    java 解析word模板为xml, 动态填充数据到xml,最后输出word文档 在项目中, 一开始是使用java Apache poi 根据word模板生成word报表, 后面发现框架有个低版本的p ...

  6. Java解析word文档,将word文档题库选择题导入

    学习目标: Java解析word文档,将word文档题库导入 学会word文档的解析,以及各种题型的导入 学习内容: 解析word文档 获取正文文件内容 doc和docx两种解析 解析word文档 p ...

  7. node.js解析word文档

    最近接触了了一个简历管理的项目,需要将简历上传之后解析出里面的字段内容(如姓名.性别.教育经历.工作经历等),存入数据库中.简历的格式都是标准的格式,可参考猎聘下载下来的格式. 毫无疑问,第一个难点就 ...

  8. Java POI解析Word提取数据存储在Excel

    JavaPOI解析word提取数据到excel 一.了解POI POI以前有了解,这次需求是解析word读取其中标题,还有内容赛选获取自己想要的内容 经过两天的学习,开始熟悉Java这么读取word和 ...

  9. 如何使用poi解析word生成html目录结构

    POI解析word目录结构 简介说明 认识下Word 我们先看下doc版本的word 我们再看下docx版本的word(今天的主角) 目录解析的原理介绍 写word文档时,我们是怎么设置目录? 我们看 ...

最新文章

  1. 实战并发编程 - 10Guarded Suspension模式在BlockingQueue源码中应用
  2. Powershell统计一周内创建的账户和邮箱
  3. 谷歌Android各版本的代号变迁
  4. 事件冒泡控件示例(转载)
  5. 企业即时通讯最可见的价值是效率和成本
  6. yield表达式形式的应用
  7. python中matlab函数图像处理,MATLAB图像处理--同态滤波(代码及示例)
  8. 华为P50 Pro外形首曝:新造型,头次见!
  9. 吴恩达机器学习学习笔记第七章:逻辑回归
  10. IOS图像拉伸解决方案
  11. 微软05年面临的10大挑战
  12. 注解 java 原理_Java注解基本原理
  13. 《Effective C#》读书笔记——条目25:用事件模式实现通知使用C#表达设计
  14. php结合nginx,mysql
  15. pip下载opencv报错
  16. SpringMVC面试题及答案
  17. 小学生C++趣味编程 上机作业 每日一练 第1单元 顺序结构
  18. linux shell遍历多个数组
  19. [转] 吴雯:SRS要做3D时代音频标准建立者
  20. 2019世界顶级黑科技将在这里,跟大家见面

热门文章

  1. java中volatile的使用方式
  2. 第八讲:tapestry组件
  3. 上传附件删除、session清空问题
  4. asp.net通用用户初始化类,登录后初始化,随时随地可以应用
  5. DaVinci的Buffer_Handle和BufTab Cmem函数调用
  6. HDR 成像技术学习(二)
  7. C#6.0中$的用法
  8. java链表实现_链表的原理及java实现
  9. asynchttpclient 超时_DNF:95更新前还能免费获得一件超时空装备?但这个任务一定完成...
  10. python c 语言接口,## 人生苦短我用python[0x08] 使用ctypes调用c语言接口 ##