我是JavaScript和jQuery(昨天开始学习)的完整菜鸟,但我已经发现它非常容易使用,非常直观! :)
所以,我需要做的是解析一个XML文件(根据我发送的查询将由远程PHP文件吐出),并将其放入一个我以后可以用来绘制图表等的数组中。
这里的诀窍是XML文件将根据查询具有不同的结构和类别,因此我需要一种“通用”解析器。
我唯一可以控制的是所有基本项都将被称为“item”,但每个项目中的类别将根据查询而改变,用户将在运行时对其进行修改。
结构总是如下所示:
<results>
<item>
<variable1>value1</variable1>
<variable2>value2</variable2>
<variable3>value3</variable3>
<variable4>value4</variable4>
<variable5>value5</variable5>
</item>
<item>
<variable1>value6</variable1>
<variable2>value7</variable2>
<variable3>value8</variable3>
<variable4>value9</variable4>
<variable5>value10</variable5>
</item>
</results>
我希望有这样一个数组:
results[0].variable1 = value1
results[0].variable2 = value2
results[0].variable3 = value3
results[0].variable4 = value4
results[0].variable5 = value5
results[1].variable1 = value6
results[1].variable2 = value7
results[1].variable3 = value8
results[1].variable4 = value9
results[1].variable5 = value10
但正如我所说,我只能保证“项目”名称。在每种情况下,变量的名称都是可变的。
有什么建议吗?
提前致谢!
答案 0 :(得分:0)
试试这个,
var arr={};// Object if you want an array then use=> var arr=[];
$('item').each(function(index,value){
var data={};
$(this).find('*').each(function(i,v){
data[$(this).prop('tagName')]=$(this).text();
});
arr[index]=data;
})
console.log(arr);