2012-07-12 10 views
7

Ich möchte Graphen aus großen XML-Dateien generieren. Es ist tatsächlich ein aufrufender Kontextbaum, der durch eine Ausführung des Programms erzeugt wird. Eine kleine Datei sieht aus wie folgt:Tool zum Generieren von Graphen aus Xml-Daten

enter image description here

Von dieser xml würde Ich mag ein Diagramm haben, die also Haupt, methodA, methodeB und Verfahren C als 4 Knoten (für jede Methode Tag einen Knoten) Enthalten Baum zeigt (aus der Einrückung) main() ruft methodA auf, dann ruft methodA methodB und methodC auf. Also das möchte ich ein Graph '/ Figur wie so etwas wie unten:

enter image description here

Gibt es Open-Source-Tools, die das für mich tun? Die XML-Dateien sind extrem groß (ca. 7 MB), so dass das Diagramm wirklich riesig wäre. Ich möchte, dass das Tool das richtig handhabt. Es ist gut, wenn das Tool auf Linux funktioniert, sonst wird es auch auf Windows funktionieren. Aber die erste Präferenz ist Linux.

Ich kann auch eine gute Bibliothek in Java betrachten, durch die ich das tun kann.

Danke.

Antwort

7

Mein Vorschlag wäre yEd - es ist nicht Open Source, aber frei und plattformübergreifend (Java-basiert und funktioniert wunderbar unter Linux mit Oracle JDK) und verwendet offene Standards für die Eingabe/Ausgabe. Es ist in der Lage, Netzwerke mit Tausenden von Knoten visuell anzuordnen und verfügt über ein Import-Tool, das XML-Dateien lesen kann. Da es keine einzige beste Möglichkeit gibt, eine XML-Datei in eine Graphenstruktur zu importieren, können Sie eine XSLT-Datei zuordnen und die Eingabe in GraphML konvertieren - yEd kann die XSLT-Datei automatisch auf Ihre XML-Datei anwenden und dann eine nette Zeichnung berechnen dann analysiert oder exportiert werden.

Here sind Links zu einigen XSL-Beispiel-Stylesheets, die Sie als Grundlage verwenden können.

+0

Vielen Dank für Ihre Antwort Sebastian. Ich habe YED 3.9.2 heruntergeladen. Von dem, was Sie sagten, es scheint, dass ich nur XML-Datei in YED importieren muss, und es wird es zu GraphML konvertieren und dann Grafik erzeugen. Aber ich konnte keine Option zum Importieren von XML-Dateien in yED finden? Kannst du mir bitte sagen, wie ich das mache? – user523956

+0

Hallo Sebastian, ich verstehe nicht, was du sagst: "yEd kann die XSLT-Datei automatisch auf deine XML-Datei anwenden und dann eine schöne Zeichnung berechnen, die dann analysiert oder exportiert werden kann." Meinst du zuerst Ich sollte meine XML-Datei in GraphML konvertieren und dann sollte diese Grafikdatei in YED öffnen? Ich habe versucht, eine Beispiel-GraphML-Datei zu YED zu öffnen, aber es zeigt kein richtiges Diagramm an? Könntest du mir bitte erklären, was meinst du genau? – user523956

+0

Nun, YED akzeptiert nur XML-Format. Wir müssen nur Datei-Öffnen auswählen und xml + xss im Dateityp wählen. Der Graph sollte korrekt angezeigt werden. Ich weiß nicht, warum Sebastian gesagt hat, dass es alles in GraphML konvertieren soll. Danke an Sebastian, dass er ein gutes Werkzeug vorgeschlagen hat. – user523956

Verwandte Themen