用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文件中:
- 选择“文件”->“导入”。
- 选择“OPML”作为导入格式。
- 选择刚才创建的
test.opml
文件进行导入。