node package manager
Easy sharing. Manage teams and permissions with one click. Create a free org »

xml2js-expat

node-xml2js-expat

Description

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.

Simple usage

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) {})