2012-07-12 118 views
7

Quiero generar gráficos a partir de archivos xml grandes. En realidad, es un árbol de contexto de llamada generado por una ejecución del programa. Un archivo pequeño se parece a continuación:Herramienta para generar gráficos a partir de datos Xml

enter image description here

De este xml me gustaría tener un gráfico que contiene 4 nodos (un nodo para cada etiqueta método), es decir principal, MethodA, methodB y el método C. A medida que la tree muestra (de la sangría) main() llama a methodA, luego methodA llama a methodB y methodC. Por lo que la quiero un gráfico '/ figura como algo parecido a continuación:

enter image description here

¿Hay algunas herramientas de código abierto que puede hacer esto por mí? Los archivos xml son extremadamente grandes (alrededor de 7 MB) por lo que el gráfico sería realmente enorme. Quiero que la herramienta maneje esto correctamente. Es bueno si la herramienta funciona en Linux, de lo contrario, en Windows también estará bien. Pero la primera preferencia es linux.

También puedo considerar una buena biblioteca en Java a través de la cual puedo hacer esto.

Gracias.

Respuesta

7

Mi sugerencia sería yEd - no es de código abierto, sino gratuito y multiplataforma (basado en Java y funciona increíblemente suave en Linux con JDK de Oracle) y utiliza estándares abiertos para entrada/salida. Es capaz de organizar visualmente redes con miles de nodos y tiene una herramienta de importación que puede leer archivos xml. Dado que no existe una forma única de importar un archivo xml en una estructura de gráfico, puede asociar un archivo XSLT y convertir la entrada a GraphML - yEd puede aplicar automáticamente el archivo XSLT a su archivo xml y luego calcular un dibujo agradable que pueda luego sea analizado o exportado.

Here son enlaces a algunas hojas de estilo de ejemplo XSL que puede usar como base.

+0

Gracias por su respuesta Sebastian. Descargué yED 3.9.2. Por lo que dijo, parece que solo necesito importar un archivo xml a yED y lo convertirá en GraphML y ​​luego generará un gráfico. ¿Pero no pude encontrar una opción para importar el archivo xml en yED? ¿Podría decirme cómo hago eso? – user523956

+0

Hola, Sebastian, estoy algo así como que no entiendo lo que dices "YEd puede aplicar automáticamente el archivo XSLT a tu archivo xml y luego calcular un lindo dibujo que luego se puede analizar o exportar". ¿Quiere decir que primero debo convertir mi archivo xml a GraphMl y luego debería abrir ese archivo graphml en yED? Intenté abrir el archivo graphml de muestra en yED pero no muestra un gráfico apropiado? ¿Podría explicarme qué quiere decir exactamente? – user523956

+0

Bueno, yED solo acepta el formato xml. solo tenemos que seleccionar Archivo-Abrir y elegir xml + xss en el tipo de archivo. El gráfico debe mostrarse correctamente. No sé por qué Sebastian dijo que lo convirtiera en GraphML n all. Gracias a Sebastian por sugerir una buena herramienta. – user523956

Cuestiones relacionadas