Lightweight XML parser for really big files (uses node-expat)
Designed for big XML files (1GB+), and low memory usage.
npm install big-xml
or from source:
git clone git://github.com/jahewson/node-big-xml.git cd node-big-xml npm link
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 = require'big-xml';var reader = bigXmlcreateReader'data.xml.gz' /^$/ gzip: true ;readeron'record'console.logrecord;;
The output would take the form:
tag: 'Foo'attrs: Name: 'John' Status: 'Student'children:tag: 'Color' text: 'blue'