I'm trying to retrieve some data from an xml file using ajax
<?xml version="1.0" encoding=UTF-8"?>
<user>
<u_idno>1</u_idno>
<u_name>nobody</u_name>
<u_srnm>nothing</u_srnm>
<u_role>linux</u_role>
</user>
<user>
<u_idno>2</u_idno>
<u_name>yesbody</u_name>
<u_srnm>something</u_srnm>
<u_role>administrator</u_role>
</user>
but I am getting an error
Uncaught TypeError: Cannot read property 'getElementsByTagName' of null
I am unsure why it would say null and I've been googling furiously to find out what I've done wrong but I'm clueless. My javascript is as followed
function f_ajax() {
var lv_request;
try {
lv_request = new XMLHttpRequest();
} catch (error) {
lv_request = new ActiveXObject("Microsoft.XMLHTTP");
}
lv_request.onreadystatechange = function() {
if(lv_request.readyState == 4 && lv_request.status == 200) {
lv_xml = lv_request.responseXML;
lv_row = lv_xml.getElementsByTagName("user");
lv_output = null;
for (lv_cnt = 0; lv_cnt < lv_row.length; lv_cnt++) {
lv_output = lv_output + lv_row[lv_cnt].childNodes[0].nodeValue;
}
document.getElementById("h2_ajax").innerHTML = lv_row;
}
}
lv_request.open("GET", "data.xml", true);
lv_request.send();
};
f_ajax();
lv_request.responseText?responseTextis not fully-valid XML you will see a NULL inresponseXML.responseTextback to an XML document (i.e. the answer from Kenny).<u_role>tag doesn't match the closing</role>tag. Is that a copying error or in the real file?