Python 将Json转化成Xmind文件

用xmind包转成的Xmind文件(版本2024.04)有问题,打不开。可以先生成opml文件,再导入。

1.生成opml文件:

import xml.etree.ElementTree as ET

def json_to_opml(json_data, root):
    for item in json_data.get('children', []):
        topic = ET.SubElement(root, 'outline', attrib={'text': item['title']})
        if item['children']:
            json_to_opml(item, topic)

# JSON 数据
json_data = {
    "title": "XMind Test",
    "topics": [
        {
            "title": "Topic 1",
            "topics": [
                {"title": "Subtopic 1.1"},
                {"title": "Subtopic 1.2"}
            ]
        },
        {
            "title": "Topic 2",
            "topics": [
                {"title": "Subtopic 2.1"},
                {"title": "Subtopic 2.2"}
            ]
        }
    ]
}


# 创建 OPML 根元素
opml = ET.Element('opml', attrib={'version': '2.0'})
head = ET.SubElement(opml, 'head')
ET.SubElement(head, 'title').text = 'ROOT'
body = ET.SubElement(opml, 'body')

# 将 JSON 数据转换为 OPML
json_to_opml(json_data, body)

# 保存为 OPML 文件
tree = ET.ElementTree(opml)
tree.write('test.opml', encoding='utf-8', xml_declaration=True)

2.将生成的opml文件导入xmind文件中:

  1. 选择“文件”->“导入”。
  2. 选择“OPML”作为导入格式。
  3. 选择刚才创建的 test.opml 文件进行导入。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值