diff --git a/lib/xml2json.js b/lib/xml2json.js index 912d2d1c..339863cd 100644 --- a/lib/xml2json.js +++ b/lib/xml2json.js @@ -50,6 +50,10 @@ function startElement(name, attrs) { } } +function stripNamespaces(name, options){ + return options.splitNamespaces ? name.split(':').pop() : name +} + function text(data) { currentObject[textNodeName()] = (currentObject[textNodeName()] || '') + data; } @@ -142,9 +146,10 @@ module.exports = function(xml, _options) { _options = _options || {}; var parser = new expat.Parser('UTF-8'); - parser.on('startElement', startElement); - parser.on('text', text); - parser.on('endElement', endElement); + + parser.on('startElement', (name, attrs) => { return startElement(stripNamespaces(name, options))}) + parser.on('text', text) + parser.on('endElement', (name) => { return endElement(stripNamespaces(name, options)) }) obj = currentObject = {}; ancestors = [];