22 lines
655 B
JavaScript
22 lines
655 B
JavaScript
|
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;
|