Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including sax-bastard with all npm packages installed. Try it out:

var saxBastard = require("sax-bastard")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

sax-bastard v1.0.2

Easy-peasy XML parsing built on sax-js.

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

sax-bastard is built 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 attributes' values
  • children (array): an array containing all of the objects representing any child elements. BUT WAIT THERE'S MORE! The children array/object (HOW CAN IT BE BOTH AT THE SAME TIME JAVASCRIPT IS NUTS) also has a property for each unique tag name among its direct descendants. That property contains an array of all children with that tag.

See the example file for a very slightly more in-depth example!

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.

This module written for ISoft Data Systems, licensed WTFPL.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free