解析Doxygen XML并生成.docx文件

时间:2013-10-15 12:46:25

标签: python lxml doxygen python-docx

我一直在使用Doxygen自动化我的C代码,并且发现HTML输出非常适合理解代码。但是,我有一个新的要求,即生成包含相同信息的Word .docx文件,但具有非常特殊的格式要求。

使用python-docx包,编写.docx文件,并配置样式以符合我的要求非常简单,使用LXML解析Doxygen的XML输出。但是,对于更复杂的字段(例如文件和函数的详细描述),存在相当复杂的文档样式XML标记。

我的理解是,<para><itemizedlist><xrefsect>和其他标签的任意嵌套可以使用独立文本“尾巴”将它们拖尾到同一级别。我从嵌套XML转换为扁平.docx段落和项目符号列表的方法是使用状态机,但这似乎很脆弱,因为可能存在任意数量的嵌套级别。

我目前的策略是in a gist here。我想知道是否有一种更通用的方式来理解具有复杂嵌套的文档。是不是比我的状态机更脆弱的策略?我不确定我是否正在尝试重新发明轮子,但是我添加到状态机的情况越多,它就越不像是一个强大的解决方案。

0 个答案:

没有答案