2010-02-22 68 views
2

我正在檢索Google地球.kml(xml)文件並使用內容在Google地圖中放置標記。 特定XML標記我很感興趣的樣子:使用jQuery提取XML中的CDATA以用作HTML內容

<Placemark> 
     <name>Bahamas-LSI</name> 
     <description><![CDATA[ 
     <img src="http://coralreefwatch.noaa.gov/satellite/ge/data/current/vs_Bahamas_LSI.bmp"> 
     <p> 
     - <a href="http://coralreefwatch.noaa.gov/satellite/virtual_stations/greater_caribbean.html#Bahamas_LSI"> 
     SST/DHW time series</a>. 
     <p> 
     - E-mail [email protected] to subscribe free<br>automatic e-mail bleaching alert for this site. 
     ]]></description> 
     <Snippet></Snippet> 
     <LookAt> 
     <longitude>-76.5000</longitude> 
     <latitude>23.5000</latitude> 
     .. 
</Placemark> 

下面的代碼中提取的名稱和經緯度&長,但我不知道如何從使用jQuery描述標籤提取CDATA。我希望能夠提取實際的html,以便我可以在Google Maps標記的infowindow中使用它。

// 
jQuery.get("CRWGE_current_products.kml", {}, function(data) { 
    // for each placemark tag, extract the name & latlong 
    // and then plot 
    jQuery(data).find("placemark").each(function() { 
    var station = jQuery(this); 
    var name = station.find('name').text(); 
    var latlng = new google.maps.LatLng(parseFloat(station.find('latitude').text()), 
             parseFloat(station.find('longitude').text())); 

    // get html for station-specific data 
    var content = station.find('description').text(); 
    console.log(content); <--- empty string 

    setMarker(map, latlng, name, stressIcon, content) 
    }); 
}); 

回答

3

檢索爲XML,你應該能夠調用正確的文本:

jQuery.get("CRWGE_current_products.kml", {}, function(data) { }, 'xml');

我已經與XML從USGS.gov飼料做到了這一點,但我還沒有嘗試過與.kml。

+0

謝謝!當我添加xml參數(怪異!)時,我被Firebug 1.4的一個bug排除了所有的控制檯輸出。我切換到Safari,看到代碼是好的,然後升級到1.5,現在所有的作品...是的,我現在可以檢索HTML文本。 – timbo 2010-02-22 22:32:36