big-xml -- Lightweight XML parser for really big files
A record-by-record XML reader, for node.js, based on node-expat.
Designed for big XML files (1GB+), and low memory usage.
Install
npm install big-xml
or from source:
git clone git://github.com/jahewson/node-big-xml.git
cd node-big-xml
npm link
Example
XML files are streamed, and parsed one record at a time, which keeps memory usage low.
You must specify which XML elements should be considered as the root of a record, using a regex. In this example the elements Foo and Bar will be emitted as records.
var bigXml = ; var reader = bigXml; reader;
The output would take the form:
tag: 'Foo' attrs: Name: 'John' Status: 'Student' children: tag: 'Color' text: 'blue'
And if you want to handle errors (by default they are thrown):
reader.on('error', function(err) {
console.log(err);
});