学习处理Doxygen的xml输出
目标
如果需求并不是使用Doxygen生成代码的文档,而是使用Doxygen对代码的内容进行分析,之后输出自定义的内容,那么就需要输出成xml
格式了。
本篇的目标是:尝试使用Doxygen输出xml
结果,并尝试使用Doxygen提供的库(doxmlparser)来处理结果。
生成XML结果
选择使用Doxywizard这个图形界面来生成(基础内容可参见之前的博客)
测试的文件选择 HAPI.h ,我将其放到目录 D:\Test\Test0831Proj 中作为测试目录。
然后打开 Doxywizard ,指定好测试目录后,勾选XML格式的输出:
之后点击输出按钮,就可以看到xml的输出了:
其中的 index.xml 是目录,其中有很多compound
节点,每个都对应一个xml文件:
点开一个group_XXX.xml,可以看到其中记录了函数,包括函数的参数等信息,都被记录到了节点中:
其实这样结构化的信息,已经可以对其进行自定义的解析并输出自定义的结果了。不过Doxygen官方也提供了一个库可以更方便地对其解析,下面尝试下。
尝试使用doxmlparser
doxmlparser是一个python包,可以在官方GIT仓库中找到,地址是:
https://github.com/doxygen/doxygen/tree/master/addon/doxmlparser/doxmlparser
metrics.py是里面一个范例,可以输出各种元素的数目,这里将尝试运行它。
运行时,将 metrics.py 和 doxmlparser包 放在一个目录:
然后调用命令,格式为
【python.exe位置】 【metrics.py位置】 【Doxygen的xml输出文件夹位置】
比如,在我这里是:
C:\Users\admin\AppData\Local\Programs\Python\Python38\python.exe D:\Test\Test0831\metrics.py D:\Test\Test0831Proj\xml
将会看到
即输出的数据为:
Files: 1 (0 documented)
Groups: 24
Pages: 1
Functions: 282 (282 documented)
Params: 3310
接下来,就可以研究doxmlparser库中的各种函数了,而上面metrics.py是一个基础的调用doxmlparser库的范例。
学习处理Doxygen的xml输出相关推荐
- java对象转xml 高性能_通过实例学习JAVA对象转成XML输出
一.总体说明 XML和JSON 是最为常用的数据交换格式 本例子演示如何将java对象,转成XML输出. 二.流程 1.在上文的例子中,创建一个包"com.waylau.rest.bean& ...
- Android学习笔记之AndroidManifest.xml文件解析(摘自皮狼的博客)
Android学习笔记之AndroidManifest.xml文件解析 一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它 ...
- EBS 报表开发:标准报表Text输出改为XML输出
很多EBS的标准报表,特别是EBS R11都只有text格式输出,输出结果不好整理数据,需修改为Excel格式输出. 下面介绍两种类型(Oracle Report, Spawned)的报表如何修改. ...
- XGBoost学习(六):输出特征重要性以及筛选特征
XGBoost学习(一):原理 XGBoost学习(二):安装及介绍 XGBoost学习(三):模型详解 XGBoost学习(四):实战 XGBoost学习(五):参数调优 XGBoost学习(六): ...
- Oralce EBS R12 xml输出二维码
Oralce EBS R12 xml输出二维码 文章目录 Oralce EBS R12 xml输出二维码 一.引入QRCode.jar 二.JSP程序代码 三.程序部署 四.修改RTF模板 五.总结 ...
- %3c xml 和php冲突,[原创]WEB安全第五章 漏洞学习与利用11 xml实体注入
WEB安全第五章 漏洞学习与利用11 xml实体注入 XXE Injection即XML External Entity Injection,也就是XML外部实体注入攻击.漏洞是在对非安全的外部实体数 ...
- QT学习:使用JSON/XML等非ts文件实现多语言国际化
注意:如果不是CSDN网站显示本篇文章,请于底部点击"阅读原文"来阅读本篇文章! QT学习:使用JSON/XML等非ts文件实现多语言国际化 解析Json 重载translate ...
- Java数据持久层框架 MyBatis之API学习六(Mapper XML 文件详解)
对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...
- Gin 框架学习笔记(03)— 输出响应与渲染
在 Gin 框架中,对 HTTP 请求可以很方便有多种不同形式的响应.比如响应为 JSON . XML 或者是 HTML 等. Context 的以下方法在 Gin 框架中把内容序列化为不同类型写 ...
最新文章
- android源码下载方法 批量下载 基于windows os
- web笔记Error:That IP address
- 为终端服务连接配置网络级身份验证
- 语言结构体在内存的分布_结构体内存对齐,这篇文章给你彻底搞会!(干货收藏)...
- 关于cocopod命令
- NoSQL数据库Redis使用命令简介
- div html 下边加横线_css怎么添加下划线?
- 查找有序数组中某个数首次出现的位置
- Vivado 2019.1 使用教程
- java 获取各省市的区号_城市查区号示例代码
- Quartz 表达式的学习
- VO快速搜索 宝马VO 宝马VO翻译 VO码查询工具
- Win10删除Xbox
- 数据结构与算法--哈夫曼树应用
- 06: 综合布线 、 子网划分
- 理解英飞凌MOSFET器件的数据手册
- 【SRE笔记 2022.8.16 Linux命令基础01】
- AFNetworking用法
- android手机获取cpu信息
- PHPnow搭建指南