首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用jQuery解析GeoRSS提要

用jQuery解析GeoRSS提要
EN

Stack Overflow用户
提问于 2010-04-06 08:01:41
回答 1查看 1.1K关注 0票数 0

我试图使用jQuery jFeed plugin来解析一个Atom、GeoRSS提要,但在提取我需要的信息时遇到了问题。例如,我需要提取摘要元素,并且希望在HTML页面上的div中呈现内容。此外,我想从georss:point元素中提取内容,并将它们传递到Google Maps中,以将它们呈现为地图上的点。问题是,jFeed似乎正在剥离与GeoRSS相关的信息。例如,我可以毫无问题地提取title元素,但似乎根本不提取summary或georss:point元素。

以下是我正在使用的XML的一个片段:

代码语言:javascript
复制
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:georss="http://www.georss.org/georss">
  <title>Search Results from DataWarehouse.HRSA.gov</title>
  <link rel="self" href="http://datawarehouse.hrsa.gov/HGDWDataWebService/HGDWDataService.aspx?service=HC&zip=20002&radius=10"/>
  <link rel="alternate" href="http://datawarehouse.hrsa.gov/"/>
  <author>
    <name>HRSA Geospatial Data Warehouse</name>
  </author>
  <id>tag:datawarehouse.hrsa.gov,2010-04-05:/</id>
  <updated>2010-04-05T19:25:28-05:00</updated>
  <entry>
    <title>Christ House</title>
    <link href="http://www.christhouse.org" />
    <id>tag:datawarehouse.hrsa.gov,2010-04-05:/D388C4C6-FFA4-4091-819B-64D67DC64931</id>
    <summary type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <div class="vcard">
          <div class="fn org">Christ House</div>
          <div class="adr">
            <div class="street-address">1717 Columbia Rd. N.W.</div>            <span class="locality">Washington</span>,            <span class="region">District of Columbia</span>,            <span class="postal-code">20009-2803</span>
          </div>
          <div class="tel">202-328-1100</div>
        </div>
        <div>
          Categories:          <span class="category">Service Delivery Site</span>
        </div>
      </div>
    </summary>
    <georss:point>38.9243636363636 -77.0395636363637</georss:point>
    <updated>2010-04-04T00:00:00-05:00</updated>
  </entry>
</feed>

下面是我使用的jQuery代码:

代码语言:javascript
复制
$(document).ready(function() {
  $.getFeed({
    //url: 'http://datawarehouse.hrsa.gov/HGDWDataWebService/HGDWDataService.aspx?service=HC&zip=20002&radius=10',
    url: 'test.xml',
    success: function(feed) {
        $.each(feed.items, function(index, value) {
            $('#rssContent').append(value.title); // Set breakpoint here
        });
    }
  });
});

我在附加到rssContent div的行上设置了一个断点,并注意到feed.items中的对象没有我想要的属性。是我做错了什么,还是jFeed没有按照我想要的方式工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-06 12:40:04

看起来jFeed只拿到了几件物品。来自jFeed的源代码:

代码语言:javascript
复制
...
jQuery('item', xml).each( function() {

    var item = new JFeedItem();

    item.title = jQuery(this).find('title').eq(0).text();
    item.link = jQuery(this).find('link').eq(0).text();
    item.description = jQuery(this).find('description').eq(0).text();
    item.updated = jQuery(this).find('pubDate').eq(0).text();
    item.id = jQuery(this).find('guid').eq(0).text();

    feed.items.push(item);
});
...

修改jFeed应该相对简单。签出jquery.jfeed.js中的源代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2581882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档