我希望转换如下所示的XML:
<products>
<product>
<Name>Bill</Name>
<ID>1</ID>
<Age>19</Age>
</product>
<product>
<Name>Jim</Name>
<ID>2</ID>
<Age>23</Age>
</product>
<product>
<Name>Kathy</Name>
<ID>3</ID>
<Age>53</Age>
</product>
</products>
INTO此格式:名称,ID,集合中的年龄
如下所示:
collection = [
'Bill-1-19',
'Jim-2-23',
'Kathy-3-53',
];
我认为最好的方法是使用XSLT样式表来输出它吗?我真的可以使用一些帮助,我现在已经试图解决这个问题几个小时了。
这是我到目前为止所做的:
<!DOCTYPE html>
<html>
<body>
<script>
if (window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
}
else // for IE 5/6
{
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET","after.xml",false);
xhttp.send();
xml=xhttp.responseXML;
var products = xml.getElementsByTagName("products");
var arr = [];
for (var key in products){
var stringVal = "";
var nodes = products[key].childNodes;
for (var ele in nodes){
if(nodes[ele]){
stringVal = stringVal + nodes[ele];
}
}
arr.push(stringVal);
}
console.log(arr);
</script>
</body>
</html>
答案 0 :(得分:0)
没有经过测试,但这应该适用于IMO。 只需迭代XML列表并构建一个字符串
var products = xml.getElementsByTagName(“products”); var arr = []; for(产品中的var键){ var stringVal =“”; var nodes = products [key] .childNodes; for(节点中的var ele){ 如果(节点[ELE]){ stringVal = stringVal + nodes [ele]; } } arr.push(stringVal); } 的console.log(ARR);