Parse XML from Axios response, pushing to Vue data array

This answer is correct. However, I would just use arrow functions everywhere so the this is always the VUE class component. Also, I would check for parsing errors.

axios.get('http://url.to/events.xml')
  .then(response => {
    parseString(response.data, (err, result) => {
      if(err) {
       //Do something
      } else {
       this.events = result
     }
    });        
  })
}

Try not to use this inside parseString, maybe it's a scope issue, which means this isn't referring to the vue data object.

Try this:

axios.get('http://url.to/events.xml')
  .then(response => {
    var self = this; 
    parseString(response.data, function (err, result) {
      self.events = result
    });        
  })
}