Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.01.2013, 11:58
Интересующийся
Отправить личное сообщение для WaMpIr Посмотреть профиль Найти все сообщения от WaMpIr
 
Регистрация: 05.10.2010
Сообщений: 23

Обработка и вывод информации из XML
Всем доброго времени суток.
Я в этом вообще бом бом бом, так что сильно не пинайте.
Есть XML файл взятый при помощи API (uCoz), т.е. адрес получается http://адрес_сайта/api/load/, без file.xml Но это не проблема, создать отдельный файл не долго.
Задача состоит в том, что бы посредством только JS без PHP вытащить из этого файла Текстовое поле (Название материала) и ссылку на материал (в XML файле они присутствуют, логично, ага!?) и вставить их в HTML форму.
Задумка такая: поисковые подсказки как в яндексе (например), т.е. JS+Ajax вытаскивают инфу из XML, сравнивают с введёнными с форму значениями и ниже в div выводят похожие (примерное продолжение). Например ввёл в форму слово "Самый" и мне ниже появилась подсказка типа "Самый страшный фильм", "Самый лучший фильм" и т.д. и т.п.
Можно не обязательно всё, достаточно направить на путь истинный так сказать, а именно, просто показать как вытаскиваются эти значения и выводятся в div, сравнение я и сам смогу прикрутить (наверно )
Если конечно такое вообще возможно без использования PHP.
Ответить с цитированием
  #2 (permalink)  
Старый 20.01.2013, 12:48
Профессор
Отправить личное сообщение для Hoshinokoe Посмотреть профиль Найти все сообщения от Hoshinokoe
 
Регистрация: 08.01.2012
Сообщений: 253

WaMpIr,

Если используете jQuery - то простой пример, как обработать xml.

Для подсказок как в поиске, есть плагин jquery.autocomplete.

Последний раз редактировалось Hoshinokoe, 20.01.2013 в 12:54.
Ответить с цитированием
  #3 (permalink)  
Старый 20.01.2013, 13:25
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

WaMpIr,
Выложите или дайте ссылку на контент файла
Ответить с цитированием
  #4 (permalink)  
Старый 20.01.2013, 14:06
Интересующийся
Отправить личное сообщение для WaMpIr Посмотреть профиль Найти все сообщения от WaMpIr
 
Регистрация: 05.10.2010
Сообщений: 23

Deff, вот только часть кода, потому что он очень длинный. Где TITLE есть название материала, а ENTRY_URL ссылка на материал, больше ничего не нужно. Ну и на всякий случай статейка непосредственно от uCoz'а с описанием значений.
<methodResponse>
<params>
<param>
<value>
<array>
<data>
<value>
<struct>
<member>
<name>
MATERIAL_ID
</name>
<value>
<i4>
14
</i4>
</value>
</member>
<member>
<name>
TITLE
</name>
<value>
<string>
Postal 3
</string>
</value>
</member>
<member>
<name>
MESSAGE
</name>
<value>
<string>
Безымянный долботряс, известный как Чувак, взорвав атомной бомбой аризонский городок Парадайз, перебирается на ПМЖ в аналогичную дыру с интригующим названием Катарсис.
</string>
</value>
</member>
<member>
<name>
ENTRY_URL
</name>
<value>
<string>
http://rkwo.ucoz.ru/load/18/igry/postal_3/54-1-0-14
</string>
</value>
</member>

Последний раз редактировалось WaMpIr, 20.01.2013 в 14:10.
Ответить с цитированием
  #5 (permalink)  
Старый 20.01.2013, 14:09
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от WaMpIr
P.S. Почему нет спойлера
WaMpIr,
[HTML hide][/html]
Ответить с цитированием
  #6 (permalink)  
Старый 20.01.2013, 14:19
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<script src="http://code.jquery.com/jquery-latest.js"></script>


<object id=textXML style="display:none;">

<methodResponse>
<params>
<param>
<value>
<array>
<data>
<value>
<struct>
<member>
<name>
MATERIAL_ID
</name>
<value>
<i4>
14
</i4>
</value>
</member>
<member>
<name>
TITLE
</name>
<value>
<string>
Postal 3
</string>
</value>
</member>
<member>
<name>
MESSAGE
</name>
<value>
<string>
Безымянный долботряс, известный как Чувак, взорвав атомной бомбой аризонский городок Парадайз, перебирается на ПМЖ в аналогичную дыру с интригующим названием Катарсис.
</string>
</value>
</member>
<member>
<name>
ENTRY_URL
</name>
<value>
<string>
http://rkwo.ucoz.ru/load/18/igry/postal_3/54-1-0-14
</string>
</value>
</member>

</object>

<script type="text/javascript">
var Text=''
$(document).ready(function(){
   $("#textXML string").each(function(i){
       if(i==1) {Text=$(this).text();return false;}
   });
alert(Text)
});
</script>
Ответить с цитированием
  #7 (permalink)  
Старый 20.01.2013, 14:19
Интересующийся
Отправить личное сообщение для WaMpIr Посмотреть профиль Найти все сообщения от WaMpIr
 
Регистрация: 05.10.2010
Сообщений: 23

Hoshinokoe, первая ссылка это конечно хорошо, я бы даже сказал то, что надо, вот только структура xml файла слегка отличается.
Ответить с цитированием
  #8 (permalink)  
Старый 20.01.2013, 14:38
Интересующийся
Отправить личное сообщение для WaMpIr Посмотреть профиль Найти все сообщения от WaMpIr
 
Регистрация: 05.10.2010
Сообщений: 23

Deff, спасибо, но это опять же немножко не то. Скрипт непонятно каким образом берёт это значение, а нужно чтобы брал значения для string только из member, значения name которых равно TITLE и ENTRY_URL.
Ответить с цитированием
  #9 (permalink)  
Старый 20.01.2013, 14:57
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от WaMpIr
спасибо, но это опять же немножко не то. Скрипт непонятно каким образом берёт это значение, а нужно чтобы брал значения для string только из member, значения name которых равно TITLE и ENTRY_URL.
Укажите, что должен выводить в итоге!
Ответить с цитированием
  #10 (permalink)  
Старый 20.01.2013, 15:02
Интересующийся
Отправить личное сообщение для WaMpIr Посмотреть профиль Найти все сообщения от WaMpIr
 
Регистрация: 05.10.2010
Сообщений: 23

В итоге должен получиться div блок со множеством всех значений TITLE, тобишь название материала. Сейчас подумал, оказывается ссылка там и не нужна, нужно просто название материала. Ещё одна мини проблема в том, что этот файл является динамическим, периодически, по мере добавления материала, в нём добавляются соответствующие пункты, но это можно исправить при помощи ajax(надеюсь). Сейчас самое главное выцепить эти значения из файла и вставить в виде списка или ещё как-нибудь.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод данных из xml fAmOus Элементы интерфейса 3 31.07.2012 17:16
Вывод информации о свободном месте на жд на сайте Kmetik Events/DOM/Window 2 24.06.2012 12:32
Вывод информации о свободном месте Kmetik Элементы интерфейса 1 22.06.2012 17:11
Загрузка и обработка xml файла Visvitalis jQuery 0 26.09.2011 16:09
Некорректная обработка XML exec AJAX и COMET 1 04.05.2010 17:02