vscode使用xmind_to_dict方法时一直报错

1、去解析xmind格式时

import time
import xlwt
import xmindparser

xmind_file = "E:\case\dzyh.xmind"
out_file = xmindparser.xmind_to_dict(xmind_file)
print(out_file)

结果报错:

PS E:\python\xmind> & D:/python3.9.12/python.exe e:/python/xmind/test_xmind.py
Traceback (most recent call last):
  File "e:\python\xmind\test_xmind.py", line 6, in <module>
    out_file = xmindparser.xmind_to_dict(xmind_file)
  File "D:\python3.9.12\lib\site-packages\xmindparser\__init__.py", line 59, in xmind_to_dict
    if is_xmind_zen(file_path):
  File "D:\python3.9.12\lib\site-packages\xmindparser\__init__.py", line 35, in is_xmind_zen
    with ZipFile(file_path) as xmind:
  File "D:\python3.9.12\lib\zipfile.py", line 1266, in __init__
    self._RealGetContents()
  File "D:\python3.9.12\lib\zipfile.py", line 1333, in _RealGetContents
    raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file
PS E:\python\xmind>

2、将xmind压缩成了zip包去解析

import time
import xlwt
import xmindparser

xmind_file = "E:\case\dzyh.zip"
out_file = xmindparser.xmind_to_dict(xmind_file)
print(out_file)

结果还是报错

PS E:\python\xmind> & D:/python3.9.12/python.exe e:/python/xmind/test_xmind.py
Traceback (most recent call last):
  File "e:\python\xmind\test_xmind.py", line 6, in <module>
    out_file = xmindparser.xmind_to_dict(xmind_file)
  File "D:\python3.9.12\lib\site-packages\xmindparser\__init__.py", line 67, in xmind_to_dict
    for s in get_sheets():
  File "D:\python3.9.12\lib\site-packages\xmindparser\xreader.py", line 24, in get_sheets    
    tree = xmind_content_to_etree(cache[content_xml])
KeyError: 'content.xml'
PS E:\python\xmind> 

xmindparser包卸载之后重新安装了,还是回报这个错误

请问各位大佬,是哪里出了什么问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
非常抱歉,我之前的回答有误。实际上,`jsmind.util.xmind_to_jsmind`方法并不存在于jsmind库中。 要实现将.xmind文件转换为jsmind格式的数据,您可以使用第三方库jsmind-xmind,该库提供了将.xmind文件转换为jsmind格式的功能。 以下是使用jsmind-xmind库实现将.xmind文件导入转换的示例代码: 1. 在HTML中添加一个input元素,用于选择要导入的.xmind文件: ```html <input type="file" id="xmind-file-input"> ``` 2. 在JavaScript中获取input元素并监听change事件,当用户选择文件后触发该事件: ```javascript var xmind_file_input = document.getElementById('xmind-file-input'); xmind_file_input.addEventListener('change', function() { var file = xmind_file_input.files[0]; // 获取用户选择的文件 readXmindFile(file); // 调用读取文件的函数 }); ``` 3. 引入jsmind-xmind库,并实现readXmindFile函数,该函数将读取.xmind文件并将其转换为jsmind格式的数据: ```javascript // 引入jsmind-xmind库 <script src="jsmind/js/jsmind.js"></script> <script src="jsmind/js/jsmind.draggable.js"></script> <script src="jsmind/js/jsmind.screenshot.js"></script> <script src="jsmind/js/jsmind.controls.js"></script> <script src="jsmind/js/jsmind.file.js"></script> <script src="jsmind-xmind/js/jsmind_xmind.js"></script> function readXmindFile(file) { var reader = new FileReader(); reader.onload = function(event) { var xmind_data = event.target.result; // 获取读取的文件内容 var jsmind_data = jsmind_xmind.parse(xmind_data); // 将xmind数据转换为jsmind格式 jsmind.show(jsmind_data); // 显示mindmap }; reader.readAsText(file); // 以文本形式读取文件内容 } ``` 需要注意的是,上述代码中的`jsmind_xmind.parse`方法用于将xmind数据转换为jsmind格式的数据。同,由于xmind文件是一种压缩的XML格式,上述代码中使用了FileReader对象的`readAsText`方法以文本形式读取文件内容。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值