2010-09-30 173 views
0

您好我是Jquery的新手,並且正在爲解析XML而苦苦掙扎。 我有一個搜索框在我的表單中,當用戶輸入前幾個字母時返回一個sql搜索的結果。這個字符串然後用php文件搜索,結果以xml文件的形式返回。問題是我需要唯一標識每個返回的名稱和標識,然後才能訪問特定的名稱/標識集。所以這個項目顯示在我的表單上。 代碼(我想)會返回所有名稱的列表,但這似乎只在一個字符串中。任何人都可以幫助我訪問各個XML元素。我已經包括在底部的xml文件,由於任何幫助用Jquery解析XML

 // JQ - ajax 
     $(document).ready(function(){ 
      $.ajax({ 
         type: "GET", 
         url: "search_action.php?" + string , 
         dataType: "xml", 
         success: disxml , 

       }); 


     }) 
     } 

     function disxml(data){ 

     $(data).find('results').each(function() { 

     var name  = $(this).find('name').text(); 
     var cus_id = $(this).find('id').text(); 


     }) 

 <results> 

     <name> 
     The porter grp 
     </name> 
     <id> 
     548930 
     </id> 

     <name> 
     ADI UK 
     </name> 
     <id> 
     986565 
     </id> 

     <name> 
     Fireled 
     </name> 
     <id> 
     549899 
     </id> 

     <name> 
     JCK Rec LTD 
     </name> 
     <id> 
     548442 
     </id> 

     </results> 

回答

3

它可能有助於更改XML模式以包含包含名稱和id元素的結果節點。

<results> 
    <result> 
     <name> 
     The porter grp 
     </name> 
     <id> 
     548930 
     </id> 
    </result> 
    <result> 
     <name> 
     ADI UK 
     </name> 
     <id> 
     986565 
     </id> 
    </result> 

</results> 

jQuery代碼應該再像做

function disxml(data){ 

     $(data).find('result').each(function() { 

     var name  = $(this).find('name').text(); 
     var cus_id = $(this).find('id').text(); 


     }) 

問候

1

你有沒有聽說過json XML文件?

Javascript可以很好地處理json。所以我的建議是,您將數據序列化爲json而不是XML,並將其提供給javascript。

looky here爲什麼。