Использование jQuery для извлечения CDATA в XML для использования в качестве содержимого HTML

Я получаю файл Google Планета Земля .kml (xml) и использую содержимое для размещения маркеров на Картах Google. Конкретные теги XML, которые меня интересуют, выглядят так:

<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>

Следующий код извлекает имя, широту и длину, однако я не знаю, как извлечь CDATA из тега описания с помощью jQuery. Я хотел бы иметь возможность извлечь фактический html, чтобы затем использовать его в информационном окне для маркера Google Maps.

// 
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)
  });
});

person timbo    schedule 22.02.2010    source источник


Ответы (1)


Получите его как xml, и вы сможете правильно вызывать текст:

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

Я сделал это с XML-каналами с USGS.gov, но не пробовал с .kml.

person Jim Schubert    schedule 22.02.2010
comment
Спасибо! На какое-то время меня поставила в тупик ошибка Firebug 1.4, из-за которой удалялся весь вывод консоли, когда я добавлял параметр xml (странно!). Я переключился на Safari, увидел, что код в порядке, затем обновился до 1.5, и теперь все работает... и да, действительно, теперь я могу получить html-текст. - person timbo; 23.02.2010