Pergunta

Estou usando o jQuery para analisar um feed RSS. Dentro de cada <item> é um elemento nomes como <content:encoded> Eu quero selecionar. Como faço para selecioná -lo no jQuery?

$(xml).find('item') works but $(xml).find('item content') does not.
Foi útil?

Solução

Você está carregando o XML via Ajax? Em seguida, verifique se o servidor define o tipo de conteúdo como 'texto/xml' e não 'texto/html'.

Verifique também se o nome da tag do elemento que você deseja é realmente contente e não outra coisa (como o conteúdo: codificado). Nesse caso, tente:

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

Personagens especiais como: Precisa ser escapar nos seletores de jQuery.

Outras dicas

Sei que esse tópico é bastante antigo, mas é o primeiro que aparece no Google ao procurar isso com o jQuery. A maneira mais fácil de fazer a pesquisa é com:

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

Espero que ajude alguém. Passei as últimas horas tentando descobrir uma maneira simples de acessar essas tags.

.find('[nodeName="content:encoded"]') Funciona bem no Chrome e em alguns navegadores mais antigos.

Isso é o que eu recebi de uma pesquisa

Os seletores do jQuery não têm um espaço para nome, então eles usam apenas o getElementsByTagName (em vez de getSbyTagnamens) para recuperar elementos pelo atributo Nodename (em vez de por LocalName e Namespaceuri).

Parece que você precisa fazer isso em JS regular usando o document.getElementsByTagNameNS(namespace, tagname)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top