Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Посчитать сумму узлов в xml-файле

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Ammiak
Отправлено: 25 Мая, 2012 - 13:45:00
Post Id


Частый гость


Покинул форум
Сообщений всего: 232
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




Здравствуйте, есть xml файл вида
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <question id="1">
  3.                 <text>Вопрос1</text>
  4.                         <variants>
  5.                                 <answer>Вариант ответа1</answer>
  6.                                 <answer>Вариант ответа2</answer>
  7.                                 <answer>Вариант ответа3</answer>
  8.                                 <answer>Вариант ответа4</answer>
  9.                         </variants>
  10. </question>
  11.  
  12. <question id="2">
  13.                 <text>Вопрос2</text>
  14.                         <variants>
  15.                                 <answer>Вариант ответа1</answer>
  16.                                 <answer>Вариант ответа2</answer>
  17.                                 <answer>Вариант ответа3</answer>
  18.                                 <answer>Вариант ответа4</answer>
  19.                         </variants>
  20. </question>
  21.  

Нужно посчитать количество узлов <answer>
Вот фрагмент кода где я пытаюсь это сделать:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $.ajax ({
  3. type: "POST",
  4. url: '../xml/file.xml',
  5. data: {id:data},
  6. dataType: "xml",
  7. success: function(XMLdata) {
  8. var quest_text=$(XMLdata).find("#"+data+" text").text(); /*выводим текст вопроса, здесь всё норм*/
  9. $('div').html("<h2>"+quest_text+"</h2>");
  10.  
  11.  
  12. var count = $(XMLdata).find(""+quest_text+" answer").length;  /*здесь не подсчитывается количество узлов, возвращается значение равное 0, а нужно 4*/
  13. alert(count);
  14.  

Подскажите пожалуйста правильный синтаксис как можно здесь посчитать узлы

(Отредактировано автором: 25 Мая, 2012 - 13:46:08)

 
 Top
DeepVarvar Супермодератор
Отправлено: 25 Мая, 2012 - 14:24:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




CODE (javascript):
скопировать код в буфер обмена
  1. ... find("answer") ...
 
 Top
Ammiak
Отправлено: 25 Мая, 2012 - 14:26:47
Post Id


Частый гость


Покинул форум
Сообщений всего: 232
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




Так выводит количество правильно
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var count = $(XMLdata).find("answer").length;
  3. alert(count);
  4.  

а так
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var count = $(XMLdata).find(""+quest_text+" answer").length;
  3. alert(count);
  4.  

возвращает 0
(Добавление)
DeepVarvar, но так выведет количество всех узлов answer документа, а мне нужно получить только 4, относящиеся напр. к Вопросу1
 
 Top
Мелкий Супермодератор
Отправлено: 25 Мая, 2012 - 14:58:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Как насчёт обрабатывать XML как XML, а не чёрти как?
Из топа гугла: http://easy4web[dot]ru/?p=393


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB