[英]Script to load contents of my XML file into array in Javascript
我有一個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的內容,但是我看不到為什么。 任何建議或幫助,將不勝感激。
謝謝
那應該工作
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[a];
tracks[a] = {};
tracks[a].tracktitle = dataFromTag(xmltrack, 'title');
tracks[a].trackmp3 = dataFromTag(xmltrack, 'mp3');
}
mymusic[i].tracks = tracks;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.