Сначала разветвите свой код, как показано ниже, чтобы увидеть, отвечает ли сервер правильным 200
ответом.
xmlhttp.open("GET", "employee.XML", false);
xmlhttp.send(null);
if (xmlhttp.status==200) {
xmlDoc = xmlhttp.responseXML;
var empid= xmlDoc.getElementsByTagName("emp");
var total = placeMarks.length;
var names = xmlDoc.getElementsByTagName("Name");
var designation= xmlDoc.getElementsByTagName("designation");
var phone= xmlDoc.getElementsByTagName("phone");
..... ;
}
else if (xmlhttp.status==404) {
alert("XML could not be found");
}
Также я предлагаю использовать библиотеку javascript, такую как jQuery, которая делает большую часть тяжелой работы для вас. Весь код для создания объекта XHR просто сводится к одной строке
$.get(url,function(data){
xmlDoc = data;
var empid= xmlDoc.getElementsByTagName("emp");
var total = placeMarks.length;
var names = xmlDoc.getElementsByTagName("Name");
var designation= xmlDoc.getElementsByTagName("designation");
var phone= xmlDoc.getElementsByTagName("phone");
});
Наконец, какой бы современный браузер вы не использовали, он должен легко указать, какая строка в скрипте выдает ошибку. Если проблема не устранена, подтвердите, какая строка выдает ошибку.
EDIT
Объем проблемы изменился. ОП теперь хочет перебрать xml.
Прежде всего, XML должен быть разработан с учетом требований. Следовательно, это должно выглядеть так
<employees>
<emp id="006">
<name>John Chamber</name>
<designation>Web Expert1</designation>
<phone>555-55-555</phone>
</emp>
<emp id="007">
<name>John D</name>
<designation>Web123123</designation>
<phone>555-55-555</phone>
</emp>
<emp id="008">
<name>Chamber</name>
<designation>Web Expert</designation>
<phone>555-55-555</phone>
</emp>
<emp id="009">
<name>Thomas</name>
<designation>TESTTEST</designation>
<phone>555-55-555</phone>
</emp>
</employees>
Теперь javascript для разбора xml
var emp=xmlDoc.getElementsByTagName("emp");
for (i=0;i<emp.length;i++) {
var names=emp[i].childNodes[0].text;
var designation= emp[i].childNodes[1].text;
......
}