2012-07-12 36 views
7

Tôi muốn tạo biểu đồ từ các tệp xml lớn. Nó thực sự là một cây bối cảnh gọi được tạo ra bởi một thực thi của chương trình. Một tập tin nhỏ trông giống như dưới đây:Công cụ để tạo biểu đồ từ dữ liệu Xml

enter image description here

Từ xml này, tôi muốn có một đồ thị, trong đó có 4 nút (một nút cho mỗi thẻ phương pháp) tức là chính, methodA, methodB và phương pháp C. Khi tree show (từ thụt đầu dòng) main() gọi phương thứcA, sau đó methodA gọi phương thức methodB và methodC. Vì vậy, tôi muốn có một đồ thị '/ hình như một cái gì đó như dưới đây:

enter image description here

Có bất kỳ công cụ mã nguồn mở có thể làm điều này cho tôi? Các tệp xml cực kỳ lớn (khoảng 7 MB) để biểu đồ thực sự rất lớn. Tôi muốn các công cụ để xử lý này đúng cách. Nó là tốt nếu công cụ hoạt động trên Linux nếu không trên cửa sổ cũng sẽ được ok. Nhưng ưu tiên đầu tiên là linux.

Tôi cũng có thể xem xét một số thư viện tốt trong java mà qua đó tôi có thể thực hiện việc này.

Cảm ơn.

Trả lời

7

Đề xuất của tôi sẽ là yEd - nó không phải là mã nguồn mở, nhưng miễn phí và đa nền tảng (dựa trên Java và hoạt động cực kỳ mượt mà trên Linux với JDK của Oracle) và sử dụng các tiêu chuẩn mở cho đầu vào/đầu ra. Nó có khả năng sắp xếp trực quan các mạng với hàng ngàn nút và có công cụ nhập có thể đọc các tệp xml. Vì không có cách nào tốt nhất để nhập tệp xml vào cấu trúc biểu đồ, bạn có thể liên kết tệp XSLT và chuyển đổi đầu vào thành GraphML - yEd có thể tự động áp dụng tệp XSLT vào tệp xml của bạn và sau đó tính toán một bản vẽ đẹp sau đó được phân tích hoặc xuất khẩu.

Here là các liên kết đến một số biểu định kiểu mẫu XSL mà bạn có thể sử dụng làm cơ sở.

+0

Cảm ơn bạn đã trả lời Sebastian. Tôi đã tải xuống yED 3.9.2. Từ những gì bạn nói, có vẻ như tôi chỉ cần nhập tệp xml vào yED và nó sẽ chuyển nó thành GraphML và sau đó sẽ tạo biểu đồ. Nhưng tôi không thể tìm thấy một tùy chọn để nhập tệp xml vào yED? Bạn có thể cho tôi biết làm thế nào để tôi làm điều đó? – user523956

+0

Hi Sebastian, tôi không hiểu những gì bạn đang nói bởi "yEd có thể tự động áp dụng tệp XSLT vào tệp xml của bạn và sau đó tính toán một bản vẽ đẹp mà sau đó có thể được phân tích hoặc xuất." Bạn có nghĩa là đầu tiên tôi nên chuyển đổi tập tin xml của tôi để GraphMl và sau đó nên mở tập tin graphml vào yED? Tôi đã thử mở tệp graphml mẫu thành yED nhưng nó không hiển thị biểu đồ thích hợp? Bạn có thể vui lòng giải thích cho tôi những gì bạn có nghĩa là chính xác? – user523956

+0

Vâng, yED chỉ chấp nhận định dạng xml. chúng ta chỉ cần chọn File-Open và chọn xml + xss trong loại tệp. Biểu đồ phải được hiển thị chính xác. Tôi không biết tại sao Sebastian nói để chuyển đổi nó sang GraphML n all.Thanks Sebastian để đề xuất công cụ tốt. – user523956

Các vấn đề liên quan