用Python解析XMind

本文來自網易雲社區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

Alt pic

最有用的應該是那個content.xml了。推薦用Notepad XML打開看。結構基本上像這個樣子, 有topic,有relationships。topic下面還有子topic。xml

Alt pic

relationship裏存儲的是,各個topic的關係。用的是topic的id標識的。 這裏主要說下,topic他分爲兩類,attached和detached。我畫了張圖,應該能夠很明顯的講二者區分出來。

Alt pic

順手寫了一個解析程序dump.py

解析出來就是這個樣子了

Sheet : '畫布 1'
        RootTopic : Attached-Root-Topic                AttachedSubTopic : attached-topic1                DetachedSubTopic : Detached-topic1                DetachedSubTopic : Detached-topic2Relation: [Detached-topic2] --> [Detached-topic1]

好了就寫這麼多了,喜歡的記得收藏。


網易雲免費體驗館,0成本體驗20+款雲產品!

更多網易研發、產品、運營經驗分享請訪問網易雲社區


相關文章:
【推薦】 kubernetes大概的工做原理
【推薦】 互聯網擇業參考(運營篇)

相關文章
相關標籤/搜索