jQuery анализирует RSS и элемент в пространстве имен, например <content:encoded>

StackOverflow https://stackoverflow.com/questions/1559670

Вопрос

Я использую jQuery для анализа RSS-канала.Внутри каждого <item> это элемент в пространстве имен, например <content:encoded> Я хочу выбрать.Как выбрать его в jQuery?

$(xml).find('item') works but $(xml).find('item content') does not.
Это было полезно?

Решение

Вы загружаете XML через Ajax?Затем убедитесь, что сервер устанавливает тип контента как «текст/xml», а не «текст/html».

Также убедитесь, что имя тега нужного элемента действительно является содержимым, а не чем-то другим (например, content:encoded).В этом случае попробуйте:

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

Специальные символы, такие как:необходимо экранировать в селекторах jQuery.

Другие советы

Я понимаю, что эта тема довольно старая, но это первая тема, которая появляется в Google при поиске с помощью jquery.Самый простой способ выполнить поиск:

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

Надеюсь, это кому-то поможет.Я провел последние несколько часов, пытаясь найти простой способ доступа к этим тегам.

.find('[nodeName="content:encoded"]') он отлично работает в Chrome и некоторых старых браузерах.

Вот что я нашел в результате поиска

jQuery Selectors не являются имен-пространством, поэтому они используют getelementsbytagname (а не getelementsbytagnamens) для извлечения элементов только по атрибуту NodeName (а не LocalName и именам пространства).

Похоже, вам нужно сделать это в обычном js, используя document.getElementsByTagNameNS(namespace, tagname)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top