9

我想从大型 xml 文件生成图形。它实际上是程序执行生成的调用上下文树。一个小文件如下所示:

在此处输入图像描述

从这个 xml 我想要一个包含 4 个节点(每个方法标记一个节点)的图,即 main、methodA、methodB 和方法 C。正如树所示(从缩进)main() 调用 methodA,然后 methodA 调用方法B和方法C。所以我想要一个图表'/图,如下所示:

在此处输入图像描述

是否有任何开源工具可以为我做到这一点?xml 文件非常大(大约 7 MB),所以图表真的很大。我希望该工具能够正确处理此问题。如果该工具可以在 linux 上运行则很好,否则在 windows 上也可以。但首选是linux。

我也可以考虑一些好的java库,通过它我可以做到这一点。

谢谢。

4

1 回答 1

8

我的建议是yEd - 它不是开源的,而是免费和跨平台的(基于 Java 并且在带有 Oracle JDK 的 Linux 上运行非常流畅)并且使用开放标准进行输入/输出。它能够直观地排列具有数千个节点的网络,并具有可以读取 xml 文件的导入工具。由于没有单一的最佳方式将 xml 文件导入图形结构,您可以关联 XSLT 文件并将输入转换为GraphML - yEd 可以自动将 XSLT 文件应用到您的 xml 文件,然后计算一个漂亮的绘图,然后可以被分析或导出。

以下是一些 XSL 示例样式表的链接,您可以将其用作基础。

于 2012-07-13T06:44:21.047 回答