sax-bastard

Easy-peasy XML parsing built on sax-js.

sax is too much work, and xml2js only works if you never have tags with the same name!

sax-bastard is based on sax-js, but returns a hierarchy of objects, each one having these properties:

  • name (string): the tag name
  • text (string): any text content of the element that is not part of the XML hierarchy
  • attributes (object): the object's properties are the attribute names, the values are the attribute values
  • children (array): an array containing all of the objects representing any child elements

To install:

npm install sax-bastard

To use:

var parse = require('sax-bastard')
var obj = parse(xml_string, function(err) {
    console.log("This is an error object, because an error happened apparently!")
    console.log(err)
})

If an error happens and no error callback is provided, the parse() function returns the error object instead of the thing you were hoping for.