用Python解析XMind


本文來自網易雲社區

作者:孫聖翔


轉自: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,解壓出來,就變成了這樣的目錄結構

Alt pic

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

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大概的工作原理
【推薦】 互聯網擇業參考(運營篇)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM