Предложения Google XML - PullRequest
       1

Предложения Google XML

3 голосов
/ 15 декабря 2011

Предложения Google размещаются онлайн в виде листа XML, например, это предложения для стека слов: Результаты XML от Google . Вот усеченная версия:

<toplevel>
  <CompleteSuggestion>
    <suggestion data="stack overflow"/>
    <num_queries int="25200000"/>
  </CompleteSuggestion>
  <CompleteSuggestion>
    <suggestion data="stackable washer dryer"/>
    <num_queries int="1050000"/>
  </CompleteSuggestion>
  <CompleteSuggestion>
    <suggestion data="stacked"/>
    <num_queries int="57000000"/>
  </CompleteSuggestion>
  …
</toplevel>

Я хочу разместить поле ввода на моем веб-сайте и получать предложения при наборе текста. Как мне получить XML и показать его как обычный HTML (текст) на моем сайте?

(Могу ли я сделать это с помощью jQuery ??)

1 Ответ

5 голосов
/ 15 декабря 2011

Для извлечения междоменных данных XML вы можете использовать YQL для извлечения данных и преобразования их в JSONP.

Для отображения предложения вы можете использовать пользовательский интерфейс jQuery *1005* Автозаполнение.

$("#term").autocomplete({
  minLength: 2,
  source: function(request, response) {
    $.ajax({
      url: 'http://query.yahooapis.com/v1/public/yql',
      dataType: 'JSONP',
      data: {
        format: 'json',
        q: 'select * from xml where url="http://google.com/complete/search?output=toolbar&q=' + encodeURIComponent(request.term) + '"'
      },
      success: function(data) {
        response($.map(data.query.results.toplevel.CompleteSuggestion, function(item) {
          return { label: item.suggestion.data, value: item.suggestion.data };
        }));
      }
    });
  }
});

ЗДЕСЬ - код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...