2012-07-12 16 views
7

Chcę wygenerować wykres z dużych plików xml. W rzeczywistości jest to drzewo kontekstowe wywołania wygenerowane przez wykonanie programu. Niewielki plik wygląda jak poniżej:Narzędzie do generowania wykresów z danych Xml

enter image description here

Od tego xml chciałbym mieć wykres, który zawiera 4 węzłów (jeden węzeł dla każdego tagu metoda) czyli główny, metodaA, metodaB i C. jako metoda drzewo pokazuje (z wcięcia) main() wywołuje metodęA, a następnie metodaA wywołuje metodęB i methodC. Więc chcę wykres '/ rysunek jak coś jak poniżej:

enter image description here

Czy istnieją jakieś narzędzi open source, które może zrobić to za mnie? Pliki xml są bardzo duże (około 7 MB), więc wykres byłby naprawdę ogromny. Chcę, aby narzędzie to odpowiednio obsłużyło. Dobrze, jeśli narzędzie działa na Linuksie, inaczej na oknach też będzie dobrze. Ale pierwszeństwo ma linux.

Mogę również rozważyć dobrą bibliotekę w Javie, dzięki której mogę to zrobić.

Dzięki.

Odpowiedz

7

Moja sugestia to: yEd - nie jest to open source, ale bezpłatne i wieloplatformowe (oparte na Javie i działa niezwykle płynnie w systemie Linux z JDK Oracle) i używa otwartych standardów dla wejścia/wyjścia. Jest w stanie wizualnie zorganizować sieci z tysiącami węzłów i ma narzędzie do importowania plików XML. Ponieważ nie ma jednego najlepszego sposobu na importowanie pliku XML do struktury wykresu, można skojarzyć plik XSLT i przekonwertować dane wejściowe na GraphML - yEd może automatycznie zastosować plik XSLT do pliku xml, a następnie obliczyć ładny rysunek, który może następnie przeanalizowane lub wyeksportowane.

Here to linki do niektórych arkuszy stylów przykładowych XSL, których można użyć jako podstawy.

+0

Dzięki za odpowiedź Sebastian. Pobrałem wersję 3.9.2. Z tego co powiedziałeś, wydaje mi się, że po prostu muszę zaimportować plik xml do YED i przekonwertuję go na GraphML, a następnie wygeneruję wykres. Ale nie mogłem znaleźć opcji importowania pliku xml do YED? Czy możesz mi powiedzieć, jak to zrobić? – user523956

+0

Witaj, Sebastian, nie rozumiem, co mówisz, "możesz automatycznie zastosować plik XSLT do pliku xml, a następnie obliczyć ładny rysunek, który następnie można przeanalizować lub wyeksportować." Masz na myśli Najpierw powinienem przekonwertować mój plik xml na GraphMl, a następnie powinien otworzyć ten plik graphml na YED? Próbowałem otworzyć przykładowy plik graphml na yED, ale nie wyświetla on właściwego wykresu? Czy mógłbyś mi wyjaśnić, co masz na myśli? – user523956

+0

Cóż, YED akceptuje tylko format xml. musimy tylko wybrać File-Open i wybrać xml + xss w typie pliku. Wykres powinien być wyświetlany prawidłowo. Nie wiem, dlaczego Sebastian kazał go przekonwertować na GraphML n. Dzięki Sebastianowi za sugestię dobrego narzędzia. – user523956

Powiązane problemy