我有一个需要使用Javascript读取的XML文件。然后需要在3个标签标签内显示要读取的文本。
我可以读取XML文件但是当我尝试在3个标签内显示文本时,它只显示从XML文件中读取的最后一件事,在这种情况下是#34; Pavarotti Gala Concert"。
我希望能够打印:
标签1 =" Empire Burlesque"
标签2 ="隐藏自己的心脏"
标签3 ="帕瓦罗蒂晚会音乐会"
我做错了什么?
XML文件
<?xml version="1.0" encoding="UTF-8"?>
<CATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
</CD>
<CD>
<TITLE>Hide your heart</TITLE>
<ARTIST>Bonnie Tyler</ARTIST>
</CD>
<CD>
<TITLE>Pavarotti Gala Concert</TITLE>
<ARTIST>Luciano Pavarotti</ARTIST>
</CD>
</CATALOG>
JAVASCRIPT
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", "text.xml", false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
var x = xmlDoc.getElementsByTagName("CD");
for ( i = 0; i < x.length; i++) {
var titleName = x[i].getElementsByTagName("TITLE")[0].innerHTML;
document.getElementById("text1").innerHTML = titleName ;
document.getElementById("text2").innerHTML = titleName ;
document.getElementById("text3").innerHTML = titleName ;
}
}
HTML
<label id="text1"></label>
<label id="text2"></label>
答案 0 :(得分:1)
我可以读取XML文件但是当我尝试在里面显示文本时 3个标签它只显示我从XML文件中读取的最后一件事 在这种情况下是“帕瓦罗蒂晚会音乐会”。
在循环中,您将x = [2,3,4,5,6,7];
y(numel(x)*2) = 0; % preallocate y
y(1:2:end) = x;
y(2:2:end) = -x;
设置为所有x = [2,3,4,5,6,7];
y(2:2:2*numel(x)) = -x;
y(1:2:end) = x;
,titleName
,text1
,因此它们都等于最后一项是有意义的。
尝试更换:
text2
使用:
text3
修改强>:
document.getElementById("text1").innerHTML = titleName ;
document.getElementById("text2").innerHTML = titleName ;
document.getElementById("text3").innerHTML = titleName ;