Javascript 读取变量编号的子节点?
我正在开发一个Web UI,它使用生成以下XML文件的Web服务:Javascript 读取变量编号的子节点?,javascript,xml,Javascript,Xml,我正在开发一个Web UI,它使用生成以下XML文件的Web服务: <datas> <order> <order_ref>...</order_ref> <order_time>...</order_time> <products> <product> <sku>...</sku> <qu
<datas>
<order>
<order_ref>...</order_ref>
<order_time>...</order_time>
<products>
<product>
<sku>...</sku>
<quantity>...</quantity>
<price>...</price>
<title>...</title>
</product>
<product>
<sku>...</sku>
<quantity>...</quantity>
<price>...</price>
<title>...</title>
</product>
</products>
</order>
<order>...</order>
<order>...</order>
<order>...</order>
<order>...</order>
</datas>
...
...
...
...
...
...
...
...
...
...
...
...
...
...
如您所见,我有一个XML文件,其中包含多个订单,可以是数量可变的订单,以及每个订单中数量可变的产品。(例如,订单1有3种产品,订单2有1种产品,等等)
我想阅读特定订单中产品的属性
我试过了,但它会退回所有订单的产品
//var orders = xmlDoc.getElementsByTagName("order");
var products = xmlDoc.getElementsByTagName("product");
for (prodIndex = 0; prodIndex < products.length; prodIndex++) {
document.getElementById("data"+n).innerHTML = xmlDoc.getElementsByTagName('sku')[prodIndex].childNodes[0].nodeValue;
n++;
}
//var orders=xmlDoc.getElementsByTagName(“订单”);
var products=xmlDoc.getElementsByTagName(“产品”);
对于(prodIndex=0;prodIndex
如何获得订单中的产品[x]?您只需要“通过树”深入到订单元素的内部。然后在每个订单中查找产品:
orders = xmlDoc.getElementsByTagName("order");
for (i = 0; i < orders.length ;i++) {
txt += orders[i].nodeName + ": <br>";
prod = orders[i].getElementsByTagName("products");
prods = prod[0].getElementsByTagName("product");
for (j = 0; j < prods.length; j++){
txt += prods[j].nodeName + "<br>";
}
txt += "<br>";
}
订单=xmlDoc.getElementsByTagName(“订单”);
对于(i=0;i”; } 此外,您应该检查元素是否存在或代码是否无法工作 缩短代码 全部示例: 订单=xmlDoc.getElementsByTagName(“订单”); 对于(i=0;i
orders = xmlDoc.getElementsByTagName("order");
for (i = 0; i < orders.length ;i++) {
txt += orders[i].nodeName + ": <br>";
prod = orders[i].getElementsByTagName("products");
prods = prod[0].getElementsByTagName("product");
for (j = 0; j < prods.length; j++){
txt += prods[j].nodeName + "<br>";
}
txt += "<br>";
}
订单=xmlDoc.getElementsByTagName(“订单”);
对于(i=0;i”; } 此外,您应该检查元素是否存在或代码是否无法工作 缩短代码 全部示例: 订单=xmlDoc.getElementsByTagName(“订单”); 对于(i=0;i