我使用isaacs' SAX来解析一个巨大的xml文件。还recommended by La Gentz。
该过程使用大约650M的内存,如何减少这个或允许节点使用更多。
FATAL ERROR: CALL_AND_RETRY_0 Allocation failed - process out of memory
我的XML文件大于300M,可能会增长到1GB。
答案 0 :(得分:8)
你应该将文件流式传输到解析器中,毕竟这就是流解析器的重点。
var parser = require('sax').createStream(strict, options);
fs.createReadStream(file).pipe(parser);