Я developping веб-интерфейс, который использует веб-сервиса, который генерирует следующий XML-файл:Прочитать дочерние узлы переменного числа?
<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++;
}
Как получить продукты, которые находятся в заказах [x]?
Цикл по приказу, а затем вызвать getElementsByTagName на конкретный узел для того, чтобы получить продукты под ним. – CBroe