2013-02-25 4 views
0

Je n'arrive pas à comprendre cela et je me trompe depuis un moment maintenant.Attribut jquery xml renvoyant undefined

XML:

<page name="bio"> 
<image imageUrl="img/bio.png" link="#"/> 
<texts> 
<pageText><![CDATA[blah 
]]></pageText> 
</texts> 
</page> 

jQuery

$.get('../tfile_main.xml', function(xml){ 
$varbioimg = $(xml).find('page[name="bio"] image'); 
alert($varbioimg.attr('imageUrl')); 
}); 

ce undefined pour une raison quelconque, j'ai essayé aussi trouver (page [name = "bio"]> image »)

Répondre

3

essayez .parseXML, en utilisant les sélecteurs css de jQuery pour analyser XML n'est pas recommandé

var xml = '<page name="bio"><image imageUrl="img/bio.png" link="#"/><texts><pageText><![CDATA[blah]]></pageText></texts></page>'; 

xmlDoc = $.parseXML(xml); 
$xml = $(xmlDoc);  
console.log($xml.find('page[name="bio"] image')); 

ici est la démonstration http://jsfiddle.net/FVHEU/

+0

merci, peut parseXML() être utilisé avec un fichier xml externe si? – js82

+0

si ce fichier est lu par le serveur et envoyé en tant que 'xml' du côté client alors oui il peut être utilisé sur le fichier externe ... – dakait

0

Pendant que je seconde en utilisant .parseXML, je dois aussi mentionner que votre exemple original a fonctionné pour moi. Assurez-vous que votre fichier XML correspond exactement à ce que vous avez posté ici (avec l'ajout de <?xml version="1.0"> en haut) et accédez à l'URL du fichier XML avec Firefox; Cela vous permettra de savoir s'il y a des erreurs d'analyse.

Questions connexes