本文來自網易雲社區html
做者:孫聖翔python
轉自:http://shengxiang.me/article/35/python-parse-xmind.htmlgit
XMind是畫思惟腦圖很好的工具,正好組裏有個須要,是要將xmind畫的狀態圖,轉化成代碼。github
xmind的格式在這裏有介紹 https://code.google.com/p/xmind3/wiki/XMindFileFormat工具
而用來解析xmind的庫有個python的,仍是官方出品的。不過真不愧是文檔缺少,花了我幾個小時看完它的源代碼,纔會用了。google
官方庫的地址,這個庫還有點問題,不能獲取relationships,我fork了一個改好了,已經提pr了,不過官方暫時還沒merge,暫時想用的,先用我fork的吧。.net
安裝方法code
pip install git+https://github.com/codeskyblue/xmind-sdk-python.git
XMind好在是一堆XML文件打包成的zip文件。能夠直接解壓出來,而後配合着代碼看。舉例來講,一個sample.xmind文件,重命名成sample.zip,解壓出來,就變成了這樣的目錄結構orm
最有用的應該是那個content.xml了。推薦用Notepad XML打開看。結構基本上像這個樣子, 有topic,有relationships。topic下面還有子topic。xml
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大概的工做原理
【推薦】 互聯網擇業參考(運營篇)