2016-03-31 27 views
0

我經常遇到需要將XML文件轉換爲樹圖圖的情況。可能是我想要可視化的產品目錄結構或管理對象模型。將隨機xml文件轉換爲樹圖

只是想知道某人是否可以建議一個採用XML(或其他基於文本的輸入)並生成這些圖表的工具?我當然可以用一個awk(etc)腳本將我的XML文件轉換爲幾乎任何格式,所以它可以是CSV輸入或幾乎任何基於文本的文本。

乾杯! 山姆

回答

2
xmlstarlet el -u whatever.xml|awk -F'/' 'BEGIN{print "digraph{"}{print $(NF-1)" -> "$NF}END{print"}"}'|dot -Tpng -o xml.png 

display xml.png 

image of xml structure

嘿!
它的工作!

我希望你能處理比我小的xml文件。

xmlstarlet解析XML, 的el選項顯示XML元素作爲簡單的XPath
-u標誌消除冗餘的同級元素
還有其他許多選項和精煉,將
例如包括值或屬性。
awk打印出dot頭,
然後在文件中的每一行,
打印每個XPath的用箭頭隔板
,其在對應於邊緣節點之間的最後兩個元素...犯錯,在dot格式的近距離DAG

注意,如果沒有特殊處理,這會在任何根節點上產生自我邊緣。
awk最後打印出右大括號。

dot
這是GraphViz的庫的一部分,
讀取格式awk已經改變了xmlstarlet輸出到
和被告知寫出一個PNG圖像
可以與任何被視爲

注意:graphviz/dot和xmlstarlet都有很多選項

可能找到使用的xml文件here(23 KB)

+0

非常感謝!將測試這一個。 – Zooma