NodeJS 如何解析XMind文件?

2021/10/18

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,看能否正常解压,如果能正常解压,那就可以按照上面的方法去解析文件。

原创文章,持续完善中,转载请注明出处。本文地址: https://www.qinshenxue.com/article/how-nodejs-parses-xmind-files.html
关注我的公众号:前端路迹