gpt4 book ai didi

javascript - 使用 Javascript 解析 XML 并创建数组

转载 作者:行者123 更新时间:2023-11-28 20:27:41 24 4
gpt4 key购买 nike

我正在单步执行一堆 XML,尝试在 javascript 中构建一个数组。

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总=TRD3066,1,15,23.1,1解析DIC72000280总=DIC72000280,1,15,278.26,1,DIC72000280,1,15,278.26,1解析KRE22208tot=KRE22208,1,15,4.65,1,KRE22208,1,15,4.65,1,KRE22208,1,15,4.65,1

这是那些夜晚之一,我只是不明白为什么最后的 tot 数组不是所有单独的项目?

最佳答案

我认为是 .each 函数导致了问题,您应该用简单的 for 循环替换它

var items = jQuery(details).find("item");
for (var i = 0; i < items.length; i++) {
var ret = [];
ret[0] = jQuery(items[i]).find('prodcode').text();
console.log("parse " + ret[0]);
ret[1] = jQuery(items[i]).find('qty').text();
ret[2] = jQuery(items[i]).find('tax').text();
ret[3] = jQuery(items[i]).find('uprice').text();
ret[4] = jQuery(items[i]).find('price').text();
tot.push(ret);
console.log("tot=" + tot);
}

关于javascript - 使用 Javascript 解析 XML 并创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17061819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com