我在DOxygen论坛上发布了一个question,并在此发布,以便更好地回复。
我有一个约2,900个功能的中等大小的C项目。我正在使用DOxygen 1.5.9,它成功生成了函数的调用图。有没有办法将其提取出来进行进一步分析?一个简单的配对列表就足够了,例如
Caller,Callee
FunctionX, FunctionY
...
我对XSLT很满意,但我必须说DOxygen XML输出很复杂。有没有人以前这样做过,可以提供一些关于如何解析XML文件的指导?
提前致谢!
答案 0 :(得分:4)
基于我在我创建的人为例子中所看到的,
^_(.+)\d+(c|cpp|h|hpp)\.xml$
的文件。<memberdef kind="function">
。它具有唯一的id
属性。我相信XPath是//memberdef[@kind='function']
。<references>
。refid
属性唯一引用正在调用的相应id
的{{1}}属性。<memberdef>
中的文字节点对应于正在调用的相应<references>
的{{1}}。这似乎是表达调用图的一种很好,直接的方式。您应该可以毫无困难地使用XSLT或任何其他理智的XML解析套件来获得所需的结果。