我經常遇到需要將XML文件轉換爲樹圖圖的情況。可能是我想要可視化的產品目錄結構或管理對象模型。將隨機xml文件轉換爲樹圖
只是想知道某人是否可以建議一個採用XML(或其他基於文本的輸入)並生成這些圖表的工具?我當然可以用一個awk(etc)腳本將我的XML文件轉換爲幾乎任何格式,所以它可以是CSV輸入或幾乎任何基於文本的文本。
乾杯! 山姆
我經常遇到需要將XML文件轉換爲樹圖圖的情況。可能是我想要可視化的產品目錄結構或管理對象模型。將隨機xml文件轉換爲樹圖
只是想知道某人是否可以建議一個採用XML(或其他基於文本的輸入)並生成這些圖表的工具?我當然可以用一個awk(etc)腳本將我的XML文件轉換爲幾乎任何格式,所以它可以是CSV輸入或幾乎任何基於文本的文本。
乾杯! 山姆
xmlstarlet el -u whatever.xml|awk -F'/' 'BEGIN{print "digraph{"}{print $(NF-1)" -> "$NF}END{print"}"}'|dot -Tpng -o xml.png
display xml.png
嘿!
它的工作!
我希望你能處理比我小的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)
非常感謝!將測試這一個。 – Zooma