const parseXml = xmlString => { const codeCollection = new DOMParser() .parseFromString(xmlString, 'text/xml') .getElementsByTagName('code'); const codes = [...codeCollection]; return codes.map(code => ({ author: parseTextNode(code, 'author'), title: parseTextNode(code, 'title'), description: parseTextNode(code, 'description'), version: parseTextNode(code, 'version'), date: parseTextNode(code, 'date'), source: parseTextNode(code, 'source').replace(/[\s\n\r\t]+/gm, ''), })); }; const parseTextNode = (node, identifier) => node.getElementsByTagName(identifier)[0].textContent; export default parseXml;