NodeJS 如何解析XMind文件?
原创
2021-10-18
11:22
编辑于
2022-6-17
15:21
XMind文件本质上是一个压缩文件,因此我们可以将xmind文件后缀改为zip来查看XMind文件是如何构成的。
新建一个XMind文件:湖北.xmind
复制一份,将后缀改为zip。
解压 湖北.zip。解压后的文件目录如下。
打开 content.json 文件,格式化json后如下所示。
可以看到,content.json 里面的内容就是我们之前添加的内容,而且结构非常清晰,因此我们只需要将这个文件解析出来,就能轻松获取添加的内容了。
压缩文件解析可以采用 JSZip。JSZip使用非常方便,具体的使用方法可以参看其官方文档。https://stuk.github.io/jszip/
const fs = require("fs");
const JSZip = require("jszip");
async function readXmind(file) {
const data = await fs.promises.readFile(file);
const files = await JSZip.loadAsync(data);
const content = await files.file("content.json").async("text");
console.log("content: ", content);
}
readXmind("湖北.xmind");
执行上面的代码后打印的内容如下。
一般一些软件对应的特殊文件格式都可以按照这个思路去尝试下,可以首先将文件后缀改为zip,看能否正常解压,如果能正常解压,那就可以按照上面的方法去解析文件。
关注我的公众号