나는이 코드에서 각 아티스트에게 노래 제목을 부여하는 방법을 알아 내려고하고 있습니다. 이 코드는 XML 파일의 모든 노래를 재생 목록에 넣습니다. 내 제목 div는 songTitle이고 artist div는 아티스트입니다. getplayList 함수에서 whats를 복사하고 출력을 제거하려고 시도했습니다. ul 다음에 onsongSelect 함수를 넣습니다. document.getElementById ("songTitle"). innerHTML = title; 하지만 div의 재생 목록에서 마지막 노래 제목 만 얻습니다. 어떤 도움을 주시면 감사하겠습니다.DIV에 제목과 아티스트 추가
function getplayList()
{
var parser = new DOMParser();
xmlDocument = parser.parseFromString(xml, "text/xml");
var elementsArray = xmlDocument.documentElement.getElementsByTagName ('composition');
var arrayLength = elementsArray.length;
var output = "<ul>";
for(var i=0; i < arrayLength; i++)
{
var title = elementsArray[i].getElementsByTagName('title')[0].firstChild.nodeValue;
var artist = elementsArray[i].getElementsByTagName('artist')[0].firstChild.nodeValue;
var time = elementsArray[i].getElementsByTagName('time')[0].firstChild.nodeValue;
var fileName = elementsArray[i].getElementsByTagName('filename')[0].firstChild.nodeValue;
output += ("<li onclick='songSelect(\"" + fileName + "\")'>" + title + " - " + artist + "</li>");
}
output += "</ul>";
document.getElementById("playList").innerHTML = output;
}
이것은 노래 선택 기능입니다.
function songSelect(fn)
{
document.getElementById("songs").src = fn;
playMusic();
}
XML 파일은 세 개의 곡을 보여 모두를 게시 할 길이 더있다 :
var xml = '<?xml version="1.0" encoding="utf-8"?>';
xml +='<music>';
xml +=' <composition>';
xml +=' <title>Songs On The Radio</title>';
xml +=' <artist>No Justice</artist>';
xml +=' <time>4.24</time>';
xml +=' <filename>Songs On The Radio.mp3</filename>';
xml +=' </composition>';
xml +=' <composition>';
xml +=' <title>Chillin It</title>';
xml +=' <artist>Cole Swindell</artist>';
xml +=' <time>3.17</time>';
xml +=' <filename>Chillin It.mp3</filename>';
xml +=' </composition>';
xml +=' <composition>';
xml +=' <title>Tippin Point</title>';
xml +=' <artist>Dallas Smith</artist>';
xml +=' <time>2.58</time>';
xml +=' <filename>Tippin Point.mp3</filename>';
xml +=' </composition>';
xml +='</music>';
xml 파일의 샘플을 게시 할 수 있습니까? – Ross
샘플 xml 파일을 게시했습니다. – user1236784