2013-03-20 130 views
0

例如我有這個XML:XML的jQuery解析:只顯示結果具有一定價值

<data> 
    <area> 
     <state>SABAH</state> 
     <parlim>P1</parlim> 
     <name>Alice Smith</name> 
    </area> 
    <area> 
     <state>SABAH</state> 
     <parlim>P2</parlim> 
     <name>John Smith</name> 
    </area> 
    <area> 
     <state>SABAH</state> 
     <parlim>P3</parlim> 
     <name>Peter Smith</name> 
    </area> 
    <area> 
     <state>SARAWAK</state> 
     <parlim>P4</parlim> 
     <name>Paul Smith</name> 
    </area> 
</data> 

我是用jQuery解析到一個HTML表格:

$.ajax({ 
    type: "GET", 
    url: "parse.xml", 
    dataType: "xml", 
    success: function(xml) { 
    $(xml).find('area').each(function(){ 
    var Col0 = $(this).find('state').text(); 
    var Col1 = $(this).find('parlim').text(); 
    var Col2 = $(this).find('name').text(); 
    $('<tr></tr>').html('<td>'+Col0+'</td><td>'+Col1+'</td><td>'+Col2+'</td>').appendTo('#chart'); 
    }); 
    } 
}); 
}); 

怎麼辦我做到這一點,它只能顯示狀態SABAH(這是前3個結果)的結果?在此先感謝

回答

0

變化

$(xml).find('area').each(function(){ 
    var Col0 = $(this).find('state').text(); 
    var Col1 = $(this).find('parlim').text(); 
    var Col2 = $(this).find('name').text(); 
    $('<tr></tr>').html('<td>'+Col0+'</td><td>'+Col1+'</td><td>'+Col2+'</td>').appendTo('#chart'); 
}); 

$(xml).find('area').each(function(){ 
    var Col0 = $(this).find('state').text(); 
    // check if Col0 = SABAH 
    if (Col0 === 'SABAH') { 
     var Col1 = $(this).find('parlim').text(); 
     var Col2 = $(this).find('name').text(); 
     $('<tr></tr>').html('<td>'+Col0+'</td><td>'+Col1+'</td><td>'+Col2+'</td>').appendTo('#chart'); 
    } 
}); 

它使用一個if語句來檢查在state標記文本,以決定是否很多着手

+1

謝謝,它的工作原理。你太快了我不能打勾現在:)將打勾後回答。再次感謝 – user2189580 2013-03-20 09:04:32