Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.10.2011, 10:54
Новичок на форуме
Отправить личное сообщение для pumano Посмотреть профиль Найти все сообщения от pumano
 
Регистрация: 04.08.2011
Сообщений: 8

Как правильно обойти DOM в XML
У меня есть AJAX запрос на сервер (парсю RSS), который отдает мне ответ в XML.

там есть элементы:

Код:
<item>
     <title>
     <enclosure>
     <description>
</item>
и так несколько раз.

Суть в том, что <enclosure> иногда не встречается и если переберать два массива getElementsByTagName("title"); и getElementsByTagName("enclosure"); и потом их вывести, то содержание <enclosure> не будет соответствовать содержанию title.

Как правильно обращаться с DOM в данном случае?
Приведу немного кода (покажу кусок, где я уже получаю ответ от сервера с содержимым и передаю его переменной):

xmlDoc = req.responseXML.documentElement;
var items = xmlDoc.getElementByTagName("item");


а дальше интересно мне узнать, есть ли элемент enclosure в item, если нет, то подставить в эту ячейку массива другое значение.

Подскажите как сделать пожалуйста.

Последний раз редактировалось pumano, 14.10.2011 в 11:41.
Ответить с цитированием
  #2 (permalink)  
Старый 14.10.2011, 11:43
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

Как-то так:
var encl = items.getElementsByTagName("enclosure");
if (encl.length) {
    ...
}
Ответить с цитированием
  #3 (permalink)  
Старый 14.10.2011, 16:02
Новичок на форуме
Отправить личное сообщение для pumano Посмотреть профиль Найти все сообщения от pumano
 
Регистрация: 04.08.2011
Сообщений: 8

Snipe а более подробно можешь?))
Ответить с цитированием
  #4 (permalink)  
Старый 14.10.2011, 18:12
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

Цитата:
а дальше интересно мне узнать, есть ли элемент enclosure в item
Это делает вышеописанный скрипт.

Сообщение от pumano Посмотреть сообщение
Snipe а более подробно можешь?))
Чтоб было подробнее, надо понять, про какой массив речь? Куда чего подставлять хотите?
Ответить с цитированием
  #5 (permalink)  
Старый 14.10.2011, 18:13
Новичок на форуме
Отправить личное сообщение для pumano Посмотреть профиль Найти все сообщения от pumano
 
Регистрация: 04.08.2011
Сообщений: 8

Если в каком-то из тегов item нет тега enclosure (я беру оттуда ссылку на картинку) я хочу подставить свою другую картинку.
Ответить с цитированием
  #6 (permalink)  
Старый 14.10.2011, 18:22
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

Сообщение от pumano Посмотреть сообщение
Если в каком-то из тегов item нет тега enclosure (я беру оттуда ссылку на картинку) я хочу подставить свою другую картинку.
Ну и ставьте в if'е.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно подавить событие при подключении своего обработчика? Маэстро Firefox/Mozilla 2 03.09.2011 11:46
Как правильно задать условие:? dididima Общие вопросы Javascript 1 03.08.2011 01:11
Как правильно очистить maxlength в input? Маэстро Events/DOM/Window 10 22.06.2011 18:14
xml и dom skyfish Events/DOM/Window 1 03.02.2009 17:52
Как правильно оформить Send() Алекс97 AJAX и COMET 20 30.10.2008 19:19