Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function xml2json(xml) {
- try {
- var obj = {};
- if (xml.children.length > 0) {
- for (var i = 0; i < xml.children.length; i++) {
- var item = xml.children.item(i);
- var nodeName = item.nodeName;
- if (typeof (obj[nodeName]) == "undefined") {
- obj[nodeName] = xml2json(item);
- } else {
- if (typeof (obj[nodeName].push) == "undefined") {
- var old = obj[nodeName];
- obj[nodeName] = [];
- obj[nodeName].push(old);
- }
- obj[nodeName].push(xml2json(item));
- }
- }
- } else {
- obj = xml.textContent;
- }
- return obj;
- } catch (e) {
- console.log(e.message);
- }
- }
- var xmlInText = '<?xml version="1.0" encoding="windows-1251" ?>' +
- '<CurrencyRates Name="Daily Exchange Rates" Date="16.11.2017">' +
- '<Currency ISOCode="USD">' +
- ' <Nominal>1</Nominal>' +
- ' <Value>69,7496</Value>' +
- ' </Currency>' +
- ' <Currency ISOCode="EUR">' +
- ' <Nominal>1</Nominal>' +
- ' <Value>82,5940</Value>' +
- ' </Currency>' +
- ' <Currency ISOCode="KZT">' +
- ' <Nominal>1</Nominal>' +
- ' <Value>0,2097</Value>' +
- ' </Currency>' +
- ' <Currency ISOCode="RUB">' +
- ' <Nominal>1</Nominal>' +
- ' <Value>1,1577</Value>' +
- ' </Currency>' +
- '</CurrencyRates>';
- var xml = new DOMParser().parseFromString(xmlInText,"text/xml");
- console.log(xml2json(xml))
Add Comment
Please, Sign In to add comment