2009-10-17 3 views
2

J'ai un flux Atom comme ça ...Parsing alimentation Problème Atom avec jQuery

<?xml version="1.0"?> 
<feed 
    xml:base="http://earthquake.usgs.gov/" 
    xmlns="http://www.w3.org/2005/Atom" 
    xmlns:georss="http://www.georss.org/georss"> 
    <updated>2009-10-12T14:47:25Z</updated> 
    <title>USGS M2.5+ Earthquakes</stitle> 
    <subtitle>Real-time, worldwide earthquake list for the past 7 days</subtitle> 
    <link rel="self" href="/eqcenter/catalogs/7day-M2.5.xml"/> 
    <link href="http://earthquake.usgs.gov/eqcenter/"/> 
    <author><name>U.S. Geological Survey</name></author> 
    <id>http://earthquake.usgs.gov/</id> 
    <icon>/favicon.ico</icon> 
    <entry> 
    <id>urn:earthquake-usgs-gov:us:2009mra9</id> 
    <title test='GOT IT'>M 5.3, Santa Cruz Islands</title> 
    <updated>2009-10-12T12:44:40Z</updated> 
    <link rel="alternate" type="text/html" href="/eqcenter/recenteqsww/Quakes/us2009mra9.php"/> 
    <link rel="related" type="application/cap+xml" href="/eqcenter/catalogs/cap/us2009mra9" /> 
    <summary type="html"><![CDATA[<p>stuff...</p>]]></summary> 
    <georss:point>-11.7295 166.3124</georss:point> 
    <georss:elev>-60100</georss:elev> 
    <category label="Age" term="Past day"/> 
    </entry> 
</feed> 

et le code jQuery comme ça ...

$(document).ready(function(){ 
    $.get('data/_7day-M2.5.xml', {}, function(xml){ 
    $(xml).find('entry').each(function(i){ 
     alert($(this).find("title").text());   // DOESN'T WORK (EMPTY) 
     alert($(this).find("title").attr('test'));  // DOESN'T WORK ('undefined') 
     alert($(this).find("id").text());    // WORKS 
     alert($(this).find("georss\\:point").text()); // WORKS 
    }); 
    }); 
}); 

Mais comme les commentaires disent, il n » t trouver l'élément <title> dans le <entry>, mais heureusement trouve d'autres choses.

Quelqu'un a des idées pourquoi et comment surmonter cela?

Vive

+1

Le problème se produit-il si le titre est ' M 5.3, Santa Cruz Islands'? –

Répondre

1

Vous avez </stitle> au lieu de </title> comme une balise de fermeture. Je suppose que c'est le problème :).

+0

+1 vous avez répondu avant moi LOL ... Je frotte encore le gook de mes yeux: P – Mottie

+0

Pourquoi la downvote? À présent :)? –

0

vous avez une balise de fermeture nommé stitle ... (oups Alex Ciminienne me battre pour elle ... se réveiller encore en place!)

<title>USGS M2.5+ Earthquakes</stitle> 

renomme juste, aussi pour arriver au deuxième titre vous pourriez besoin de trouver l'entrée premier

alert($(this).find("entry").find("title").attr('test')); 
0

ther pas nécessaire d'utiliser Jfeed ... Je suppose aussi Paul exemple est juste une faute de frappe ... ce qu'il veut dire est un certain navigateur ont problème en tirant le contenu de cette balise .. J'ai eu la même expérience sur Safari ... peut-être plateau en utilisant eq (0)

alert($(this).find("title").eq(0).text());