使用node.js解析大型xml 500M

时间:2012-01-03 02:18:59

标签: xml node.js sax

我使用isaacs' SAX来解析一个巨大的xml文件。还recommended by La Gentz

该过程使用大约650M的内存,如何减少这个或允许节点使用更多。

FATAL ERROR: CALL_AND_RETRY_0 Allocation failed - process out of memory

我的XML文件大于300M,可能会增长到1GB。

1 个答案:

答案 0 :(得分:8)

你应该将文件流式传输到解析器中,毕竟这就是流解析器的重点。

var parser = require('sax').createStream(strict, options);
fs.createReadStream(file).pipe(parser);