我使用isaacs' SAX来解析一个巨大的xml文件。也recommended by La Gentz。
这个进程使用了大约650M的内存,我如何减少这个或者允许节点使用更多的内存。
FATAL ERROR: CALL_AND_RETRY_0 Allocation failed - process out of memory
我的xml文件大于3亿,可能会增长到1gb。
最佳答案
您应该将文件流化到解析器中,这毕竟是流化解析器的全部要点。
var parser = require('sax').createStream(strict, options);
fs.createReadStream(file).pipe(parser);