<!DOCTYPE html>
<html>
<body>
<p><b>Note:</b> All major browsers, except Internet Explorer, treat empty white-spaces or new lines as text nodes.
So, in the example below, there is a function that checks on node type, and displays only Element nodes. This way, the result will be equal in all browsers.</p>
<p id="demo"></p>
<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
function myFunction(xml) {
var x, i, xmlDoc, txt;
xmlDoc = xml.responseXML;
txt = "";
x = xmlDoc.documentElement.childNodes;
for (i = 0; i < x.length; i++) {
if (x.item(i).nodeType == 1) {
txt += x.item(i).nodeName + "<br>";
}
}
document.getElementById("demo").innerHTML = txt;
}
</script>
</body>
</html>