function makeObject(row, headers) {
  var ret = {};
  headers = headers || [];
  if (typeof(headers) === 'undefined'){
    for (var j = 0; j < row.length; j++ ){
      headers[j.toString()] = j;
    }
  }
  for (var i = 0; i < headers.length; i++){
    var key = headers[i];
    var val = row[i];
    ret[key] = val;
  }
  return ret;
}
Reads the contents of a file and creates an XML object with its values.
If the name of the file is used as the parameter, as in the above example,
the file must be located in the sketch directory/folder.

Alternatively, the file maybe be loaded from anywhere on the local
computer using an absolute path (something that starts with / on Unix and
Linux, or a drive letter on Windows), or the filename parameter can be a
URL for a file found on a network.

This method is asynchronous, meaning it may not finish before the next
line in your sketch is executed. Calling loadXML() inside preload()
guarantees to complete the operation before setup() and draw() are called.
Outside preload(), you may supply a callback function to handle the object.

@method loadXML
@param  {String}   filename   name of the file or URL to load
@param  {Function} [callback] function to be executed after loadXML()
                              completes, XML object is passed in as
                              first argument
@return {Object}              XML object containing data