2011-12-15 7 views
3

Googleの提案は、XMLシートとしてオンラインに置かれます。たとえば、stack:XML results by Googleの候補です。Google XMLの提案

<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を使ってこれを行うことができます)

+0

はい、jQueryを使用できます。オートコンプリートプラグインを探します。 –

答えて

5

あなたがデータを取得し、JSONPにそれらを変換するためにYQLを使用することができ、クロスドメインXMLデータを取得します。

提案を表示するために、jQuery UIのAutocompleteを使用できます。

$("#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 }; 
     })); 
     } 
    }); 
    } 
}); 

HEREコードです。

+0

ありがとうございました:)それは私の年齢を取っただろう.. – Youss