Javascript 从js文件而不是xml文件创建关联数组
我一直在使用一个函数Javascript 从js文件而不是xml文件创建关联数组,javascript,xml,Javascript,Xml,我一直在使用一个函数getxml,该函数创建了一个关联数组,其中包含在xml文件中找到的所有相册/曲目: function XMLload() { jQuery.post(url, function(data) { getxml(data); }, 'xml'); } function dataFromTag(node, t) { var d = node.getElementsByTagName(t); if (d.length == 0) r
getxml
,该函数创建了一个关联数组,其中包含在xml文件中找到的所有相册/曲目:
function XMLload() {
jQuery.post(url, function(data) {
getxml(data);
}, 'xml');
}
function dataFromTag(node, t) {
var d = node.getElementsByTagName(t);
if (d.length == 0) return ('');
return (d[0].firstChild.nodeValue);
}
jQuery(document).ready(XMLload);
var url = 'music.xml';
function getxml(xmldoc) {
xmlalbums = xmldoc.getElementsByTagName('album');
for (var i = 0; i < xmlalbums.length; i++) {
title = dataFromTag(xmlalbums[i], 'title');
artist = dataFromTag(xmlalbums[i], 'artist');
artwork = dataFromTag(xmlalbums[i], 'artwork');
var xmltracks = xmlalbums[i].getElementsByTagName('track');
var tracks = []
for (var j = 0; j < xmltracks.length; j++) {
song = dataFromTag(xmltracks[j], 'title');
mp3 = dataFromTag(xmltracks[j], 'mp3');
tracks[song] = mp3;
}
albumlist[title] = [artist, artwork, tracks];
}
// call pageLoad();
pageLoad();
}
您的
var相册
有几个问题(额外的逗号,请检查以验证)。但除此之外,它还是一个有效的JSON对象
var albums=
[
{ "title":"",
"artist":"",
"artwork":"",
"tracks":[
{"title":"","mp3":".mp3",
"lyrics":""},
{"title":"","mp3":".mp3",
"lyrics":""},
{"title":"","mp3":".mp3",
"lyrics":""},
{"title":"","mp3":".mp3",
"lyrics":""}
]
},
{ "title":"",
"artist":"",
"artwork":"",
"tracks":[
{"title":"","mp3":".mp3",
"lyrics":""},
{"title":"","mp3":".mp3",
"lyrics":""},
{"title":"","mp3":".mp3",
"lyrics":""},
{"title":"","mp3":".mp3",
"lyrics":""},
]
}
];
for (var i = 0; i < albums.length; i++) {
title = albums[i].title;
artist = albums[i].artist;
artwork = albums[i].artwork;
var tracks = []
for (var j = 0; j < albums[i].tracks.length; j++) {
song = albums[i].tracks[j].title;
mp3 = albums[i].tracks[j].mp3;
tracks[song] = mp3;
}
albumlist[title] = [artist, artwork, tracks];
}
var相册=
[
{“标题”:“,
“艺术家”:“,
“艺术品”:“,
“轨道”:[
{“标题”:“,”mp3:“.mp3”,
“歌词”:“}”,
{“标题”:“,”mp3:“.mp3”,
“歌词”:“}”,
{“标题”:“,”mp3:“.mp3”,
“歌词”:“}”,
{“标题”:“,”mp3:“.mp3”,
“歌词”:“}
]
},
{“标题”:“,
“艺术家”:“,
“艺术品”:“,
“轨道”:[
{“标题”:“,”mp3:“.mp3”,
“歌词”:“}”,
{“标题”:“,”mp3:“.mp3”,
“歌词”:“}”,
{“标题”:“,”mp3:“.mp3”,
“歌词”:“}”,
{“标题”:“,”mp3:“.mp3”,
“歌词”:“}”,
]
}
];
对于(var i=0;i
这不是JSON的作用吗?我如何用JSON重新解释代码?
var albums=
[
{ "title":"",
"artist":"",
"artwork":"",
"tracks":[
{"title":"","mp3":".mp3",
"lyrics":""},
{"title":"","mp3":".mp3",
"lyrics":""},
{"title":"","mp3":".mp3",
"lyrics":""},
{"title":"","mp3":".mp3",
"lyrics":""},
]
},
{ "title":"",
"artist":"",
"artwork":"",
"tracks":[
{"title":"","mp3":".mp3",
"lyrics":""},
{"title":"","mp3":".mp3",
"lyrics":""},
{"title":"","mp3":".mp3",
"lyrics":""},
{"title":"","mp3":".mp3",
"lyrics":""},
]
},
]
var albums=
[
{ "title":"",
"artist":"",
"artwork":"",
"tracks":[
{"title":"","mp3":".mp3",
"lyrics":""},
{"title":"","mp3":".mp3",
"lyrics":""},
{"title":"","mp3":".mp3",
"lyrics":""},
{"title":"","mp3":".mp3",
"lyrics":""}
]
},
{ "title":"",
"artist":"",
"artwork":"",
"tracks":[
{"title":"","mp3":".mp3",
"lyrics":""},
{"title":"","mp3":".mp3",
"lyrics":""},
{"title":"","mp3":".mp3",
"lyrics":""},
{"title":"","mp3":".mp3",
"lyrics":""},
]
}
];
for (var i = 0; i < albums.length; i++) {
title = albums[i].title;
artist = albums[i].artist;
artwork = albums[i].artwork;
var tracks = []
for (var j = 0; j < albums[i].tracks.length; j++) {
song = albums[i].tracks[j].title;
mp3 = albums[i].tracks[j].mp3;
tracks[song] = mp3;
}
albumlist[title] = [artist, artwork, tracks];
}