From 91103312396ce679271455cf723c8c57d05aad3a Mon Sep 17 00:00:00 2001 From: opoto Date: Sat, 18 Apr 2020 14:50:49 +0200 Subject: [PATCH] Report XML parsing errors --- src/leaflet.filelayer.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/leaflet.filelayer.js b/src/leaflet.filelayer.js index c164ffa..4e4184e 100644 --- a/src/leaflet.filelayer.js +++ b/src/leaflet.filelayer.js @@ -214,7 +214,15 @@ var geojson; // Format is either 'gpx' or 'kml' if (typeof content === 'string') { - content = (new window.DOMParser()).parseFromString(content, 'text/xml'); + var domparser = new DOMParser(); + // get error NS for current browser + var parsererrorNS = domparser.parseFromString('INVALID', 'text/xml').getElementsByTagName("parsererror")[0].namespaceURI; + // parse input + content = domparser.parseFromString(content, 'text/xml'); + // check if result is error NS + if(content.getElementsByTagNameNS(parsererrorNS, 'parsererror').length > 0) { + throw new Error('Error parsing XML'); + } } geojson = toGeoJSON[format](content); return this._loadGeoJSON(geojson);