Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 解析Doxygen XML并生成.docx文件_Python_Lxml_Doxygen_Python Docx - Fatal编程技术网

Python 解析Doxygen XML并生成.docx文件

Python 解析Doxygen XML并生成.docx文件,python,lxml,doxygen,python-docx,Python,Lxml,Doxygen,Python Docx,很长一段时间以来,我一直在使用Doxygen自动化我的C代码,并且发现HTML输出对于理解代码非常有用。但是,我有一个新的要求,即生成包含相同信息的Word.docx文件,但有非常特殊的格式要求 使用PythonDocx包,编写一个.docx文件,并配置样式以满足我的需求,非常简单,使用LXML解析Doxygen的XML输出。但是,对于更复杂的字段(例如文件和函数的详细描述),有相当复杂的文档样式XML标记 我的理解是,可以任意嵌套、、和其他标记,它们后面有独立的文本“tails”,处于同一级别

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

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

我的理解是,可以任意嵌套
和其他标记,它们后面有独立的文本“tails”,处于同一级别。我将嵌套XML转换为flat.docx段落和项目符号列表的方法是使用状态机,但这似乎很脆弱,因为可能存在任意数量的嵌套级别

我目前的策略是。我想知道是否有一种更通用的方法来理解具有复杂嵌套的文档。有没有比我的国家机器更脆弱的策略?我不确定我是否在尝试重新发明轮子,但我在状态机中添加的案例越多,它就越不像是一个健壮的解决方案