- 15, May 2024
- #1
Привет ребята,
Я хотел бы поместить XML-данные в массив 2dim, но не выполнил свою работу. Все в порядке с обещанием, что циклы работают нормально, но я не получаю второе измерение массива.
(Так что я здесь довольно одномерен). Если с.б. хотелось бы взглянуть на код.
Большое спасибо!
Я хотел бы поместить XML-данные в массив 2dim, но не выполнил свою работу. Все в порядке с обещанием, что циклы работают нормально, но я не получаю второе измерение массива.
(Так что я здесь довольно одномерен). Если с.б. хотелось бы взглянуть на код.
Большое спасибо!
(function(d) {
let output = d.getElementById('output');
getCurrentDate();
d.addEventListener('DOMContentLoaded',()=> {
//fetch data as soon as the page has loaded
const proxyurl = "[URL='https://lumtu.com/yti/bvNNvbS9odHRwczovL2NvcnMtYW55d2hlcmUuaGVyb2t1YXBwLmwBX']https://cors-anywhere.herokuapp.com/[/URL]";
let url = "[URL='https://lumtu.com/yti/NwMMwNjVodHRwOi8veG1sdHYuY28udWsvZmVlZC83CZl']http://www.xmltv.co.uk/feed/7365[/URL]";
fetch(proxyurl+url)
.then(response => response.text())
.then(data => {
//console.log(data); //string
let parser = new DOMParser();
let xml = parser.parseFromString(data,"application/xml");
//output.textContent = data;
console.log(xml);
channelList(xml);
//channelIdList(xml);
});
});
function channelList(xml) {
let tableFields = [[]];
let list = d.getElementById('channelPrg');
let channelName = xml.getElementsByTagName('display-name');
// let channelId = xml.getElementsByTagName('channel'); //for channel ID
// let programm = xml.getElementsByTagName('programme'); //for channel ID
let title = xml.getElementsByTagName('title');
for(let i=0; i < channelName.length; i++) {
tableFields[i] = channelName[i].firstChild.nodeValue;
for(let j=0; j < title.length; j++) {
if (channelName[i].parentNode.getAttribute("id") === title[j].parentNode.getAttribute("channel") ) {
tableFields[i][j] = title[j].firstChild.nodeValue;
}
}
}
console.log(tableFields);
}
})(document);
Код (JavaScript):