我正在通過一堆XML嘗試在javascript中構建數組。用Javascript解析XML並創建數組
XML:
<?xml version="1.0" encoding="utf8" ?>
<session>
<id>12</id>
<name>20130520105033-0-1</name>
<userid>0</userid>
<changed>2013-05-20 11:16:31</changed>
<till>1</till>
<custid>1</custid>
<details>
<item>
<prodcode>TRD3066</prodcode>
<qty>1</qty>
<tax>15</tax>
<uprice>23.1</uprice>
<price>1</price>
</item>
<item>
<prodcode>DIC72000280</prodcode>
<qty>1</qty>
<tax>15</tax>
<uprice>278.26</uprice>
<price>1</price></item>
<item>
<prodcode>KRE22208</prodcode>
<qty>1</qty>
<tax>15</tax>
<uprice>4.65</uprice>
<price>1</price>
</item>
</details>
<comment></comment>
<customer_comment></customer_comment>
</session>
的Javascript用來解析此: (使信息XML標籤之後)
function parse(details){
var ret=[];var tot=[];
jQuery(details).find("item").each(function(){
ret[0]= jQuery(this).find('prodcode').text();
console.log("parse "+ret[0]);
ret[1]= jQuery(this).find('qty').text();
ret[2]= jQuery(this).find('tax').text();
ret[3]= jQuery(this).find('uprice').text();
ret[4]= jQuery(this).find('price').text();
tot.push(ret);
console.log("tot="+tot);
});
return tot;
}
問題控制檯結果是
解析TRD3066 TOT = TRD3066 ,1,15,23.1,解析DIC72000280 tot = DIC72000280,1,15,278.26,1,DIC72000280, 1,15,278.26,1 解析KRE22208 TOT = KRE22208,1,15,4.65,1,KRE22208,1,15,4.65,1,KRE22208,1,15,4.65,1
這是那些夜晚之一,而我只是沒有看到爲什麼最後tot陣列不是所有的單個項目?
錯過我在for循環中... 但仍然相同的結果!任何其他想法? – Onyx
對不起,錯過了幾行。請再次檢查 –
就是這樣。 var ret = [];下次清理ret數組,並處理項目索引。謝謝UmairP! – Onyx