2017-11-04 3 views
0

私はいくつかのデータを持つxmlファイルを持っていて、いくつかのノード値で並べ替える必要があります。JQuery xml特定のノード値で並べ替え

これは私が持っているものです。

var output = ''; 

$.ajax({ 
     url:'file.xml', 
     type: 'GET', 
     dataType: "xml", 
     success: function(result) { 
      $(result).find('car').each(function() { 
       output += '<div class="block">'; 
       output += '<b>Marca</b> : '+$(this).find('marca').text()+'<br>'; 
       output += '<b>Modelo</b> : '+$(this).find('modelo').text()+'<br>'; 
       output += '<b>Equipamento</b> : '; 

       var arr = []; 
       $(this).find('equip').children().each(function() { 
        arr.push($(this).text()); 
       }); 
       output += arr.join(', '); 

       output += '</div>' 

      }); 

      $('body').append(output); 
     } 
    }) 

私は「マルカ」の値でソートしたいです。どうやってやるの?

はここに私のxmlファイルです:順序があるべきこの場合

<cars> 
    <car> 
     <marca>Seat</marca> 
     <modelo>Ibiza</modelo> 
     <equip> 
      <equip1>Vidros Electricos</equip1> 
      <equip2>Fecho Central</equip2> 
      <equip3>Direcção Assistida</equip3> 
     </equip> 
    </car> 
    <car> 
     <marca>Volkswagen</marca> 
     <modelo>Golf</modelo> 
     <equip> 
      <equip1>Vidros Electricos</equip1> 
      <equip2>Fecho Central</equip2> 
      <equip3>Direcção Assistida</equip3> 
      <equip4>ABS</equip4> 
     </equip> 
    </car> 
    <car> 
     <marca>Honda</marca> 
     <modelo>Civic</modelo> 
     <equip> 
      <equip1>Vidros Electricos</equip1> 
      <equip2>Fecho Central</equip2> 
      <equip3>Direcção Assistida</equip3> 
      <equip4>ABS</equip4> 
     </equip> 
    </car> 
    (...) 
</cars> 

- >ホンダ - >シート - >フォルクスワーゲン。

Tksです。

答えて

0

あなたはこれは魔法のように動作します)

$(result).find('car').sort(function(a,b){ 
     return $(a).find('marca').text() > $(b).find('marca').text() 
}).each(function(){ 
     // output sorted collection 
}); 

DEMO

+0

TKS = jQueryのコレクションにsort()を使用することができます。 – eskimopest

関連する問題