1
Обычный вопрос, но серьезно, почему моя петля не работает? Какие ошибки были я сделал, любая помощь будет оценена :)Javascript for-loop not looping
XML
<?xml version="1.0" encoding="utf-8"?>
<School>
<child>
<name>john</name>
<dob>28-09-2000</dob>
<age>15</age>
<add>jgdkhcjgvbv</add>
<phone>12345678</phone>
</child>
<child>
<name>henry</name>
<dob>19-09-2001</dob>
<age>14</age>
<add>kjdfndsjnlae</add>
<phone>23456789</phone>
</child>
<child>
<name>luke</name>
<dob>27-04-1999</dob>
<age>16</age>
<add>ksmfodnzsksl</add>
<phone>34567890</phone>
</child>
</School>
HTML
<html>
<head>
<script type="text/javascript" >
var xmlObject, docObject, childarray, cname, cdob, cage;
xmlObject = new XMLHttpRequest();
xmlObject.open("GET","school.xml",false);
xmlObject.send();
docObject = xmlObject.responseXML;
childarray=docObject.getElementsByTagName("child");
for (var i = 0; i<childarray.length; i++) {
cname = docObject.getElementsByTagName("name")[i].childNodes[0].nodeValue;
document.write("Name : " + cname + "<BR/>");
cdob = docObject.getElementsByTagName("dob")[i].childNodes[0].nodeValue;
document.write("Dob : " + cdob + "<BR/>");
cage = docObject.getElementsByTagName("age")[i].childNodes[0].nodeValue;
document.write("Age : " + cage + "<BR/>");
cadd = docObject.getElementsByTagName("add")[i].childNodes[0].nodeValue;
document.write("Add : " + cadd + "<BR/>");
cphone = docpb.getElementsByTagName("phone")[i].childNodes[0].nodeValue;
document.write("Phone : " + cphone + "<BR/>");
}
</script>
<title>school</title>
</head>
<body>
</body>
</html>
Что я хочу сделать, это напечатать имя, DOB, возраст, адрес, телефон за «n» количество студентов одновременно. В коде отображаются только данные первого ребенка.
Welp
Ваш текущий вывод указывает на то, что 'childarray' имеет длину один, поэтому вы должны определить, почему это так. –