getElementsByTagName に問題があります。ajax を使用して、サーバーから受け取った xml ファイルから情報を取得しようとしています。IE では正常に動作しますが、Chrome または FireFox で実行しようとすると、「未定義」が表示されます。
Javascript :
function parseMessage()
{
doc = request.responseXML;
sum = "";
for (var i=0; i< doc.getElementsByTagName('coupon').length; i=i+1)
{
var lat2 = doc.documentElement.getElementsByTagName('latitude').item(i).text;
var longi2 = doc.documentElement.getElementsByTagName('longitude').item(i).text;
var latlng = new google.maps.LatLng( lat2 , longi2 );
var product = doc.documentElement.getElementsByTagName('productname').item(i).text;
// marker[i] = createMarker(map2, product, latlng, description);
sum = sum + description+ " "+ product + lat2 + longi2;
}
document.write(sum);
}
XML :
<?xml version="1.0" encoding="UTF-8"?>
-<coupons>
-<coupon id="1">
<productname>Bigmac</productname>
<companyname>Macdonalds</companyname>
<latitude>32.015954</latitude>
<longitude>34.755228</longitude>
</coupon>
-<coupon id="2">
<productname>Crocs</productname>
<companyname>Crocs</companyname>
<latitude>32.079375</latitude>
<longitude>34.769325</longitude>
</coupon>
-<coupon id="3">
<productname>Nike Shoks</productname>
<companyname>NIKE</companyname>
<latitude>32.048825</latitude>
<longitude>34.785461</longitude>
</coupon>
-<coupon id="4">
.....