У меня есть XML-файл, который можно просмотреть здесь, данных, относящихся к серии музыкальных альбомов, которые я хотел бы загрузить в javascript в массив под названием "mymusic" в следующей форме:
mymusic = [
{
title:,
artist:,
artwork:,
tracks: [
{
tracktitle:,
trackmp3:
},
{
tracktitle:,
trackmp3:
}
]
}
];
и т.д .; таким образом, в основном это массив альбомов, где каждый альбом представлен записью, полями которой являются название альбома, исполнитель альбома, обложка альбома и массив дорожек альбома (где каждая дорожка / индекс массива представлена запись с полями tracktitle и trackmp3.
Для этого у меня есть следующий javascript:
function getxml(){
xmldoc = XML.load('music.xml');
var xmlalbums = xmldoc.getElementsByTagName('album');
mymusic = [];
for(i = 0; i < xmlalbums.length; i++){
xmlalbum = xmlalbums[i];
mymusic[i] = {};
mymusic[i].title = dataFromTag(xmlalbum,'title');
mymusic[i].artist = dataFromTag(xmlalbum,'artist');
mymusic[i].artwork = dataFromTag(xmlalbum, 'artwork');
tracks = [];
var xmltracks = xmlalbums[i].getElementsByTagName('track');
for(var a = 0; a < xmltracks.length; a++){
xmltrack = xmltracks[i];
tracks[i] = {};
tracks[i].tracktitle = dataFromTag(xmltrack, 'title');
tracks[i].trackmp3 = dataFromTag(xmltrack, 'mp3');
mymusic[i].tracks = tracks;
}
}
}
однако, это не загружает содержимое music.xml так, как мне бы хотелось, но я не понимаю, почему это так. Будем благодарны за любые предложения или помощь.
Спасибо