jQuery analisi RSS e elemento namespace come
-
21-09-2019 - |
Domanda
Sto usando jQuery per analizzare un feed RSS. All'interno di ogni <item>
è un elemento namespace come <content:encoded>
voglio selezionare. Come faccio a selezionare in jQuery?
$(xml).find('item') works but $(xml).find('item content') does not.
Soluzione
viene caricata l'XML tramite Ajax? Quindi, assicurarsi che il server imposta il tipo di contenuto come 'text / xml' non si e 'text / html'.
Inoltre, assicurarsi che il nome del tag dell'elemento che si desidera è davvero contenuto e non qualcos'altro (come content: encoded). In tal caso, provare:
.find('item content\\:encoded')?
I caratteri speciali come:. Necessità di essere fuggiti in selettori di jQuery
Altri suggerimenti
Mi rendo conto che questa discussione è piuttosto vecchio, ma è il primo che viene in su in google durante la ricerca di questo con jQuery. Il modo più semplice per fare la ricerca è con:
.find('[nodeName="content:encoded"]')
La speranza che aiuta qualcuno. Ho passato le ultime ore a cercare di capire un modo semplice per accedere a tali tag.
.find('[nodeName="content:encoded"]')
lo fa raffinate opere in Chrome e alcuni browser meno recenti.
Questo è quello che ho ottenuto da una ricerca
selettori di jQuery non sono namespace-consapevoli, in modo da utilizzare solo getElementsByTagName (piuttosto che getElementsByTagNameNS) per recuperare elementi di loro attributo nodeName (Piuttosto che con localName e namespaceURI).
Sembra che avete bisogno di farlo in js regolari usando il document.getElementsByTagNameNS(namespace, tagname)