Question

J'utilise jQuery pour analyser un flux RSS. Au sein de chaque <item> est un élément comme <content:encoded> des espaces de noms, je veux choisir. Comment puis-je sélectionner dans jQuery?

$(xml).find('item') works but $(xml).find('item content') does not.
Était-ce utile?

La solution

Êtes-vous le chargement du xml via Ajax? Ensuite, assurez-vous que le serveur définit le type de contenu comme 'text / xml' et non 'text / html'.

De plus, assurez-vous que le nom de la balise de l'élément que vous voulez est en effet le contenu et pas autre chose (comme le contenu: codé). Dans ce cas, essayez:

.find('item content\\:encoded')?

caractères spéciaux tels que:. Doivent être protégés dans les sélecteurs jQuery

Autres conseils

Je sais que ce fil est assez vieux mais il est le premier qui vient dans Google lors de la recherche pour cela avec jquery. La meilleure façon de faire la recherche est avec:

.find('[nodeName="content:encoded"]')

L'espoir qui aide quelqu'un. J'ai passé les dernières heures à essayer de trouver un moyen simple d'accéder à ces balises.

.find('[nodeName="content:encoded"]') il ne fonctionne très bien dans Chrome et certains navigateurs plus anciens.

est ce que je suis d'une recherche

  

sélecteurs de jQuery ne sont pas   espace de nom, de sorte qu'ils utilisent seulement   getElementsByTagName (plutôt que   getElementsByTagNameNS) pour récupérer   éléments par leur attribut nodeName   (Plutôt que par localName et   namespaceURI).

On dirait que vous avez besoin de le faire en js régulièrement en utilisant le document.getElementsByTagNameNS(namespace, tagname)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top