He conseguido solucionar el problema.
Posteo la solucion por si hay alguien en mi situacion, pues que le sirva de ayuda de la misma forma que me han servido a mi otros post.
Lo que ocurria con el codigo anterior era que recorria el for de 0 a 20 -1, por lo que si habia menos hoteles, me daba el error antes indicado.
Lo he solucionado creando la variable tam y recogiendo el numero de hoteles con la primera linea del codigo siguiente.
Por lo que el codigo corregido es este:
Código:
tam= xml.getElementsByTagName("Hotel").length
<%for i=0 to tam - 1
hotelId=xml.getElementsByTagName("Hotel/hotelId")(i).firstChild.data
name=xml.getElementsByTagName("Hotel/name")(i).firstChild.data
address1=xml.getElementsByTagName("Hotel/address1")(i).firstChild.data
city=xml.getElementsByTagName("Hotel/city")(i).firstChild.data
latitude=xml.getElementsByTagName("Hotel/latitude")(i).firstChild.data
longitude=xml.getElementsByTagName("Hotel/longitude")(i).firstChild.data
postalCode=xml.getElementsByTagName("Hotel/postalCode")(i).firstChild.data
%>
<script>
x = '<%=i %>';
vhotelId[x] = '<%=hotelId %>';
vname[x] = '<%=name %>';
vaddress1[x] = '<%=address1 %>';
vcity[x] = '<%=city %>';
vlatitude[x] = '<%=latitude %>';
vlongitude[x] = '<%=longitude %>';
vpostalCode[x] = '<%=postalCode %>';
// document.write(x + "--> ");
// document.write(vhotelId[x]);
// document.write(vname[x]);
// document.write(vaddress1[x]);
// document.write(vcity[x]);
// document.write(vlatitude[x]);
// document.write(vlongitude[x]);
// document.write(vshortDescription[x]);
// document.write("<br />");
</script>
<%
next %>
Espero que esto le sirva a mas gente novata con el XML.
Muchas Gracias Muzztein
HooK69