[英]XML - get all values from tags into an array
我敢肯定,这是一个非常简单的问题! 我有一个xml文档,并且希望使用AJAX将具有相同名称的标签中的值放入数组中。 XML:
<data>
<instance>
<term>Dog</term>
<clicks>11235</clicks>
</instance>
<instance>
<term>Cat</term>
<clicks>6309</clicks>
</instance>
</data>
我的Javascript:
console.log(xml.getElementsByTagName("clicks")[0].childNodes[0].nodeValue);
这似乎只返回第一个值。 您如何将它们全部退还?
您可以使用jQuery获取所有标签,然后使用.each()
获取所有值:
$(xml).find('clicks').each(function(){
console.log($(this).html());
});
或者,如果要获取数组,可以使用.map()
函数:
var list = $(xml).find('clicks').map(function(){
return $(this).html();
}).get();
使用d3.js,您可以执行以下操作:
在DOM <div></div>
定义一个div
var list = d3.select('div')
.html(xml) // set the xml content
.selectAll('clicks')
.each(function(){
console.log(this.innerHTML);
});
console.log(list); //you can do what you want with all clicks elements
尝试我用Java写的,我认为您必须更改数组部分。 希望这可以帮助。
NodeList clicks = xml.getElementsByTagName("clicks")
int[] clickArray = new int[clicks.getLength()];
for(int i=0; i<clicks.getLength();i++){
clickArray[i] = clicks[i].childNodes[0].nodeValue;
}
function test(){
var clicks = xml.getElementsByTagName("clicks");
var result = new Array();
foreach(var c in clicks){
console.log(c);
result.push(c.childNodes[0].nodeValue);
}
return result;
}
这应该打印所有“点击”标签。 现在,结果数组中的所有值都可以,但是请注意,如果标签“ structure”始终是您在上面发布的标签,则这将起作用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.