本文來自網易雲社區
作者:孫聖翔
轉自:http://shengxiang.me/article/35/python-parse-xmind.html
XMind是畫思維腦圖很好的工具,正好組里有個需要,是要將xmind畫的狀態圖,轉化成代碼。
xmind的格式在這里有介紹 https://code.google.com/p/xmind3/wiki/XMindFileFormat
而用來解析xmind的庫有個python的,還是官方出品的。不過真不愧是文檔缺乏,花了我幾個小時看完它的源代碼,才會用了。
官方庫的地址,這個庫還有點問題,不能獲取relationships,我fork了一個改好了,已經提pr了,不過官方暫時還沒merge,暫時想用的,先用我fork的吧。
安裝方法
pip install git+https://github.com/codeskyblue/xmind-sdk-python.git
XMind好在是一堆XML文件打包成的zip文件。可以直接解壓出來,然后配合着代碼看。舉例來說,一個sample.xmind文件,重命名成sample.zip,解壓出來,就變成了這樣的目錄結構
最有用的應該是那個content.xml了。推薦用Notepad XML打開看。結構基本上像這個樣子, 有topic,有relationships。topic下面還有子topic。
relationship里存儲的是,各個topic的關系。用的是topic的id標識的。 這里主要說下,topic他分為兩類,attached和detached。我畫了張圖,應該可以很明顯的講兩者區分出來。
順手寫了一個解析程序dump.py
解析出來就是這個樣子了
Sheet : '畫布 1' RootTopic : Attached-Root-Topic AttachedSubTopic : attached-topic1 DetachedSubTopic : Detached-topic1 DetachedSubTopic : Detached-topic2Relation: [Detached-topic2] --> [Detached-topic1]
好了就寫這么多了,喜歡的記得收藏。
網易雲免費體驗館,0成本體驗20+款雲產品!
更多網易研發、產品、運營經驗分享請訪問網易雲社區。
相關文章:
【推薦】 kubernetes大概的工作原理
【推薦】 互聯網擇業參考(運營篇)