2014-05-12 84 views
1

我有一個與此數據響應從服務器在解析jQuery的Ajax的XML響應需要幫助

<?xml version="1.0" encoding="UTF-8"?> 
<t0> 
    <t9>0</t9> 
    <t1> 
     <t15>LUI</t15> 
     <t3>1353.50</t3> 
     <t6>25</t6> 
     <t4>12.40</t4> 
     <t5>0.92</t5> 
     <t7>1342.50</t7> 
     <t8>1368.90</t8> 
     </t1> 

<t1> 
     <t15>LUI</t15> 
     <t3>1233.50</t3> 
     <t6>25</t6> 
     <t4>12.40</t4> 
     <t5>0.92</t5> 
     <t7>1342.50</t7> 
     <t8>1368.90</t8> 
     </t1> 

</t0> 

從我想只讀第一根T1標籤,而忽略第二T1標籤XML響應web服務

一旦我讀的第一根T1標籤,我需要提取T1

我已經試過這種的T3和T8值,

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 

<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
<script type="text/javascript"> 
var symbols = [ "TEST1", "TEST2", "TEST3"]; 

var mydata = { 
    "firstName": "John", 
    "lastName": "Doe" 
}; 

$(document).ready(function() { 
$.each(symbols, function(index, value){ 
    loadXMLDoc(value); 
}); 
}); 
function loadXMLDoc(value) 
{ 
     $.ajax({ 
      type: 'POST', 
      url: 'https://mywebserver//8080//data', 
     data : "e=91&s="+value+"", 
     success: function (data) { 

    $(data).find("t1").each(function() 
    { 

var t3 = $(this).attr("t3"); 
var t8 = $(this).attr("t8"); 

alert(t3); 
alert(t8); 

    }); 



    } , 
      error: function (e) {  
       alert('error'+e); 
      } 
     }); 

    } 

    </script> 
</head> 
<body> 

</body> 
</html> 

您能否讓我知道,我如何從根t1標籤中提取t3和t8標籤?

回答

3

您可以使用.children().find()在這裏,因爲t3t8t1孩子:

$(data).find("t1").each(function() { 
    var t3 = $(this).find("t3").text(); 
    var t8 = $(this).find("t8").text(); 

    alert(t3); 
    alert(t8); 
}); 
+1

非常高效,非常感謝你,你sa ved我的一天。 – Pawan

+0

很高興幫助:-) – Felix

1

要閱讀你所需要的第一個循環後,返回false第一個和每一個元素的你仍然需要使用find -

$(data).find("t1").each(function() { 
    var t3 = $(this).find("t3").text(); 
    var t8 = $(this).find("t8").text(); 

    return false; // stops the loop after one t1 
});