(开源)XMind思维导图创建、解析、更新一站式解决方案

这是一个基于Python的XMind库,提供完整的创建、解析和更新XMind文件的解决方案。支持将XMind文件转换为Dict和JSON数据,包括画布、主题、图标、备注等元素的处理。适用于测试用例设计,可以与TestLink、Zentao系统集成,提升工作效率。项目包含自动化测试和发布功能,并持续维护更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mind_mapping

XMind 是基于 Python 实现,提供了对 XMind思维导图进行创建、解析、更新的一站式解决方案!

一、安装方式

pip3 install XMind  

or

pip3 install xmind

二、版本升级

pip3 install -U XMind

三、使用方式

1、创建XMind文件
def gen_my_xmind_file():  
    # 1、如果指定的XMind文件存在,则加载,否则创建一个新的
    workbook = xmind.load("my.xmind")
    
    # 2、获取第一个画布(Sheet),默认新建一个XMind文件时,自动创建一个空白的画布
    sheet1 = workbook.getPrimarySheet()
    # 对第一个画布进行设计完善,具体参照下一个函数
    design_sheet1(sheet1)
    
    # 3、创建第二个画布
    gen_sheet2(workbook, sheet1)
    
    # 4、保存(如果指定path参数,另存为该文件名)
    xmind.save(workbook, path='test.xmind')

first sheet

def design_sheet1(sheet1):
    # ***** 第一个画布 *****
    sheet1.setTitle("first sheet")  # 设置画布名称

    # 获取画布的中心主题,默认创建画布时会新建一个空白中心主题
    root_topic1 = sheet1.getRootTopic()
    root_topic1.setTitle("root node")  # 设置主题名称

    # 创建一个子主题,并设置其名称
    sub_topic1 = root_topic1.addSubTopic()
    sub_topic1.setTitle("first sub topic")

    sub_topic2 = root_topic1.addSubTopic()
    sub_topic2.setTitle("second sub topic")

    sub_topic3 = root_topic1.addSubTopic()
    sub_topic3.setTitle("third sub topic")

    sub_topic4 = root_topic1.addSubTopic()
    sub_topic4.setTitle("fourth sub topic")

    # 除了新建子主题,还可以创建自由主题(注意:只有中心主题支持创建自由主题)
    detached_topic1 = root_topic1.addSubTopic(topics_type=TOPIC_DETACHED)
    detached_topic1.setTitle("detached topic")
    detached_topic1.setPosition(0, 30)

    # 创建一个子主题的子主题
    sub_topic1_1 = sub_topic1.addSubTopic()
    sub_topic1_1.setTitle("I'm a sub topic too")

second sheet

def gen_sheet2(workbook, sheet1):
    # ***** 设计第二个画布 *****
    sheet2 = workbook.createSheet()
    sheet2.setTitle("second sheet")

    # 获取画布的中心主题
    root_topic2 = sheet2.getRootTopic()
    root_topic2.setTitle("root node")

    # 使用另外一种方法创建子主题
    topic1 = TopicElement(ownerWorkbook=workbook)
    # 给子主题添加一个主题间超链接,通过指定目标主题ID即可,这里链接到第一个画布
    topic1.setTopicHyperlink(sheet1.getID())
    topic1.setTitle("redirection to the first sheet")

    topic2 = TopicElement(ownerWorkbook=workbook)
    topic2.setTitle("topic with an url hyperlink")
    # 给子主题添加一个URL超链接
    topic2.setURLHyperlink("https://github.com/zhuifengshen/xmind")

    topic3 = TopicElement(ownerWorkbook=workbook)
    topic3.setTitle("third node")
    # 给子主题添加一个备注(快捷键F4)
    topic3.setPlainNotes("notes for this topic")
    topic3.setTitle("topic with \n notes")

    topic4 = TopicElement(ownerWorkbook=workbook)
    # 给子主题添加一个文件超链接
    topic4.setFileHyperlink("logo.png")
    topic4.setTitle("topic with a file")

    topic1_1 = TopicElement(ownerWorkbook=workbook)
    topic1_1.setTitle("sub topic")
    # 给子主题添加一个标签(目前XMind软件仅支持添加一个,快捷键)
    topic1_1.addLabel("a label")

    topic1_1_1 = TopicElement(ownerWorkbook=workbook)
    topic1_1_1.setTitle("topic can add multiple markers")
    # 给子主题添加两个图标
    topic1_1_1.addMarker(MarkerId.starBlue)
    topic1_1_1.addMarker(MarkerId.flagGreen)

    topic2_1 = TopicElement(ownerWorkbook=workbook)
    topic2_1.setTitle("topic can add multiple comments")
    # 给子主题添加一个批注(评论)
    topic2_1.addComment("I'm a comment!")
    topic2_1.addComment(content="Hello comment!", author='devin')

    # 将创建好的子主题添加到其父主题下
    root_topic2.addSubTopic(topic1)
    root_topic2.addSubTopic(topic2)
    root_topic2.addSubTopic(topic3)
    root_topic2.addSubTopic(topic4)
    topic1.addSubTopic(topic1_1)
    topic2.addSubTopic(topic2_1)
    topic1_1.addSubTopic(topic1_1_1)

    # 给中心主题下的每个子主题添加一个优先级图标
    topics = root_topic2.getSubTopics()
    for 
Freeplane 思维导图软件中文版是由经典思维导图软件 FreeMind 的主创人员设计的另外一款同类型工具,Freeplane 已由官方翻译为中文,功能比较齐全,相较于 FreeMind 也毫不逊色。软件界面简洁明晰、操作方便快、设计的非常人性化,更重要的是它是免费的。当然博客上也提供的有其它的思维导图软件,比如:Xmind Pro 中文版,Mindmanage 中文版等等。 除了 SciPlore MindMapping,FreeMind 还有一个重要分支版本 FreePlane。该项目始于 2009 年 6 月,主要开发者是 Dimitry Polivaev,也是 FreeMind 开发者之一。FreePlane 在 FreeMind 基础上,增强了如下功能:更好的节点文字即席编辑、优化连接线、插入外部对象、脚本优化、全部文件替换、功能键工具栏、按住 control 和左键点击菜单项可修改热键、全屏模式、选择性粘贴、拼写检查、有结构的 html 粘贴。此外,还增强了过滤功能,并提供了多项其他改进。 开源思维导图 Freeplane 中文版开源思维导图 Freeplane 中文版 Freeplane 是一个免费的开源软件应用程序,支持在工作,学校和家庭中思考,分享信息和完成工作。 该软件可用于思维导图和分析思维导图中包含的信息。Freeplane 在任何具有安装当前Java版本的操作系统上运行。 它可以从可移动存储(如USB驱动器)本地或可移植地运行。 应用领域 Freeplane 比传统的思维导图支持更多。在导图的中心,应用程序区域可以看到导图的中心主题(根节点)。从它扩展是具有子主题(子节点)的分支。在边界,你会看到独立于根树的免费主题(自由节点)。所有主题都可以格式化或风格化,可以包含文字,超链接,图片等;并且可以用标记的线或箭头连接。另外,一个主题(节点)可以表示当用户想要或可以自动执行时显示的隐藏信息(公式)。内容也可以受密码保护或连接到特定的时间或过滤器。 Freeplane 支持上述应用领域,具有以下功能: 注意使用可自由定位的,未连接的节点(如post-it); 将节点(节点)排列成通过线(边)连接的层次结构; 使用元数据(属性)和样式类型(系统样式,用户定义的样式,级别样式)分类节点; 使用可视容器(云)和荣誉(摘要节点)对节点进行分组; 连接动态链接节点,免费线路(连接器)和标签; 根据层次和内容(条件样式,自动边缘颜色,级别样式)自动设置节点(具有气泡,颜色,边缘类型等); 在内容(文本,科学公式,计算,图标,图像和超链接)和演示区域(核心,细节,注释,属性,图像和工具提示)方面构建节点; 通过隐藏内容(折叠分支,过滤,汇总细节和在工具提示中隐藏扩展)来更改视图,查找,滚动和导航; 任务与日历和提醒; 使用DES加密对整个地图和个别节点进行密码保护; 易于使用内联和对话编辑器,面向对象的主菜单,上下文菜单,多语言支持,拼写检查器,属性面板,拖放功能,热键,批量执行选项,发布,共享和可选择的偏好; 即使没有完全匹配(例如“setup”=“设置”或“flie”=“文件”),大概搜索(相似性搜索)可以在文本中找到搜索词。 支持节点下面的LaTeX公式 轻松扩展附加功能和自制脚本; 与Docear学术文献套装整合; 通过Wiki和论坛的广泛支持;以及思维导图形式的教程和文档。 Freeplane 功能的地图说明了 Freeplane 的主要功能。此外,它提供了一个索引,其中包含教程的超链接,您可以在其中阅读更多内容。链接首先被隐藏,但变得可见,并且如果您将鼠标悬停在功能(节点)上,则可以单击链接。这是Freeplan的力量的另一个例子。 (要体验这些功能,请在“Freeplane程序”中打开“帮助”>“入门”,然后选择“索引”)。 附加组件和脚本 可以使用附加组件和脚本来扩展 Freeplane 的功能。您可以使用内置的脚本语言Groovy(基于JavaScript)制作自己的附加组件和脚本,并以1.5版本的其他语言(如python)开始。检查页面Add-ons_(安装)其他用户已经和共享的附加组件。它们可以通过简单的鼠标点击下载并安装。 如果您想制作自己的附加组件,可以使用说明。 提出思维导图 一旦你有一个思维导图,你可能想使用和呈现它。 RoAn-Presentation使用自动过滤和缩放功能,将思维导图与Powerpoint和Prezi类似的呈现组合在一起。 演示不仅展开节点,还显示隐藏的细节,使当前节点居中。 简而言之,它支持遍历思维导图,从用户那里获取丰富的点击。 您可以在这里下载并
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值