Simple XML to JavaScript object converter. Uses node-expat. Install with npm :) See the tests for examples until docs are written. Note: If you're looking for a full DOM parser, you probably want JSDom.
var fs = require('fs')
var xml2js = require('xml2js-expat')
var parser = new xml2js.Parser();
fs.createReadStream('/path/to/file')
.pipe(parser)
.on('error', console.error.bind(console, 'xml2js: parse error:'))
.on('end', console.log.bind(console, 'xml2js: successfully parsed file:'))
The Parser object supports the following encodings, that can be specified as the first parameter, in which case the callback should be the second. (Each argument is optional.)
UTF-8
UTF-16
ISO-8859-1
US-ASCII
For example:
var parser = new xml2js.Parser('UTF-8', function(error, result) {});
or
var parser = new xml2js.Parser('UTF-8')
parser.EXPLICIT_CHARKEY = true // Force text nodes to always appear as property.
parser
.on('end', function (result) {
console.log('end', result) // end { '#': 'data' }
})
.on('error', function (result) {
console.log('error', result)
})
.parse('<p>data</p>')
Parser also supports streaming input:
var parser = new xml2js.Parser('UTF-8');
fs.createReadStream('/path/to/file')
.pipe(parser)
.on('end', function(result) {})
.on('error', function(error) {})