前言
xmind是知名的思维导图软件,可以用来整理思路,设计测试案例等等。一旦完稿后软件本身支持导出为图片,PDF,Excel等等文件格式。免费版相对于Pro版能导出的文件种类少一些,但有时候你可能想我做的xmind能不能通过编程再加工一下,比如集成到某个网页,或者通过api和某某系统集成。
安装xmindparser
pip install xmindparser
Xmind 转Python 数据类型
xmindparser可以将xmind转成dict数据类型,比如下面这么一个xmind文件:
转换代码的示例:
from xmindparser import xmind_to_dict
out = xmind_to_dict(xmind_file)
例子中out的数据结构如下:
[
{
"title": "Sheet 1",
"topic": {
"makers": [
"star-orange"
],
"topics": [
{
"link": "http://test.com",
"topics": [
{
"topics": [...]
"title": "e"
},
...
],
"title": "test"
},
"structure": "org.xmind.ui.map.unbalanced"
},
{
"title": "Sheet 2",
...
}
]
通过遍历sheet和topics就可以获取到xmind中每个节点的数据。
# list = [dict['title'],]
# s = []
# m = []
# for a in dict['topics']:
# s = [a['title']]
# k = []
# for lens in range(len(a['topics'])):
# k.append(a['topics'][lens]['title'])
# s.append(k)
# m.append(s)
# list.append(m)
# print(list)
可得到如下结构的列表数据:
list = ['11111', [['1.1', ['1.11', '1.12']], ['1.2', ['1.21', '1.22']], ['1.3', ['1.32', '1.31']], ['1.4', ['1.41', '1.42']]]]
Xmind 转 JSON
转成Json非常简单,如果你还是使用Python编程,可以这样写:
from xmindpraser import xmind_to_json
out_file = xmind_to_json(xmind_file)
或者你直接调用命令行工具:
xmindparser your.xmind -json
Xmind 转 XML
转成XML是类似的,使用Python编程,这样写:
from xmindpraser import xmind_to_xml
out_file = xmind_to_xml(xmind_file)
或者你直接调用命令行工具:
xmindparser your.xmind -xml