<?xml version="1.0" encoding="utf-8" standalone="yes" ?> - <jednostka> <id>1</id> <name>Nazwa</name> <dodatkowe_info /> </jednostka>
niby wydaje się proste, ale jak widać tag <dodatkowe_info /> jest pusty, bo nie zawsze takie info jest, a jak ten tag jest pusty, to wyskakuje błąd JS "Wymagany jest obiekt". W przypadku kiedy wszystkie tagi w XMLu są wypełnione, nie ma problemu, a jak chociaż jeden jest pusty, to sypie się i nie działa. Pisałem już nawet instrukcje IF w JS które mi sprawdzają, czy tag nie jest pusty, ale to nie bardzo chce działać. Zamieszczam poniżej fragment kodu, który mi to czyta, fragment dotyczący tworzenia HTTP Request pomijam, bo to standard.
function stateChanged(){ if (xmlHttp.readyState == (1 || 0)){ document.getElementById('ladowanie').innerHTML = 'Loading...'; } if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ xmlDoc=xmlHttp.responseXML; document.getElementById('ladowanie').innerHTML = ""; /* ID _____________________________________________________________*/ document.getElementById("id_txt").innerHTML='ID zasobu:'; document.getElementById("id").innerHTML= xmlDoc.getElementsByTagName("id")[0].childNodes[0].nodeValue; /* NAWET JAK ROBIŁEM TAK, TO PROBLEM NIE ZNIKAŁ: if(xmlDoc.getElementsByTagName("id").length > 0){ // sprawdzam czy tag nie jest pusty document.getElementById("id_txt").innerHTML='ID zasobu:'; document.getElementById("id").innerHTML= xmlDoc.getElementsByTagName("id")[0].childNodes[0].nodeValue; } */ } }