GXmlHttp fejler
Hej eksperter,Jeg sidder og roder lidt med en hjemmeside som indeholder et google map; jeg bruger en xml-fil til at indeholde de data jeg skal bruge for at definere mine markers på map'et samt en lille beskrivelse af punktet nede i en <div> under map'et.
Det virker også ganske fint - så længe der er nogle data i xml-filen.
Hvis der mangler data i xml-filen blot et enkelt sted; f.eks. at der står:
<k_land></k_land>
istedet for
<k_land>Danmark</k_land>
så kan den slet ikke finde ud af at beskrive det punkt - altså det er som om at mit javascript dør fuldstændig, blot fordi det er et enkelt sted den ikke kan finde noget child i xml-filen.
Koden jeg bruger til at skrive teksten til min div er som følger:
----------------------------------
function Beskrivelse (IDforXML) {
var request = GXmlHttp.create();
request.open('GET', 'golfklubber.xml', true);
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200) {
var xmlDoc = request.responseXML;
var xmlrows = xmlDoc.documentElement.getElementsByTagName("Row");
for (var i = 0; i < xmlrows.length; i++) {
var xmlrow = xmlrows[IDforXML];
//get the Klub Navn
var KlubNavn = xmlrow.getElementsByTagName("k_navn")[0].firstChild.data;
//get the Adresse
var Adresse1 = xmlrow.getElementsByTagName("k_adresse")[0].firstChild.data;
//get the Land
var Land = xmlrow.getElementsByTagName("k_land")[0].firstChild.data;
var feltet = document.getElementById("tekstfelt");
var indhold = KlubNavn + '<br>' + Adresse1 + '<br>' + Land;
feltet.innerHTML = indhold;
}
}
}
----------------------------------
Hvor feltet er navnet på min <div> og IDforXML er id-nummeret på sportsklubben.
Hvis der er data i alle elementerne i xml-filen; så er der ingen problemer - men hvis der ikke står noget i blot et af felterne, så failer hele scriptet åbenbart.
Nogen der ved hvordan jeg kommer uden om dette?
På forhånd tak :-)
Mvh
Steffen.