reading xml embedded in HTML with JavaScript.

Discussion in 'JavaScript' started by deluxmilkman, Mar 24, 2009.

  1. #1
    I`m trying to write XML in HTML and read it with JavaScript,
    but it`s not working.
    please help.

    my XML in HTML.
    
    <xml id="xmldata" style='display:none;'>
    <markers>
    <marker lat="50.895842" lng="-1.4051" html="text"/>
    </markers>
    </xml> 
    
    Code (markup):
    Javascript trying to read my XML.
    
    
    document.getElementById('xmldata');
    if(xml.documentElement == null)
    xml.documentElement = xml.firstChild;
    
     var markers = xmlDoc.documentElement.getElementsByTagName("marker");
              
              for (var i = 0; i < markers.length; i++) {
                // obtain the attribues of each marker
                var lat = parseFloat(markers[i].getAttribute("lat"));
                var lng = parseFloat(markers[i].getAttribute("lng"));
                var point = new GLatLng(lat,lng);
                var html = markers[i].getAttribute("html");
              
    
                // create the marker
                var marker = createMarker(point,label,html);
                map.addOverlay(marker);
              }
    
    Code (markup):

     
    deluxmilkman, Mar 24, 2009 IP
  2. camjohnson95

    camjohnson95 Active Member

    Messages:
    737
    Likes Received:
    17
    Best Answers:
    0
    Trophy Points:
    60
    #2
    try:
    
    var xml = document.getElementById('xmldata');
    if(xml.documentElement == null)
    xml.documentElement = xml.firstChild;
    
     var markers = xml.getElementsByTagName("marker");
              
              for (var i = 0; i < markers.length; i++) {
                // obtain the attribues of each marker
                var lat = parseFloat(markers[i].getAttribute("lat"));
                var lng = parseFloat(markers[i].getAttribute("lng"));
                var point = new GLatLng(lat,lng);
                var html = markers[i].getAttribute("html");
              
    
                // create the marker
                var marker = createMarker(point,label,html);
                map.addOverlay(marker);
              }
    
    Code (markup):
    the getElementsByTagName function is not a member of the documentElement, i believe this should solve your problem.
     
    camjohnson95, Mar 24, 2009 IP