Я работаю над функцией для поиска в XML-коде и возврата максимального значения для определенного тега.
Это мои переменные:
var xmlString= "<root>
<Item>
<Name>AAA</Name>
<ItemNo>22</ItemNo>
</Item>
<Item>
<Name>AAA</Name>
<ItemNo>10</ItemNo>
</Item>
<Item>
<Name>BBB</Name>
<ItemNo>122</ItemNo>
</Item>
<Item>
<Name>BBB</Name>
<ItemNo>99</ItemNo>
</Item>
</root>";
tagName = 'ItemNo';
nameVal = 'AAA';
Пока я могу получить максимальное значение для ItemNo примерно так:
// parse XML
parser = new DOMParser();
xmlDoc = parser.parseFromString(xmlString,"text/xml");
// get nodes from XML
var nodes = xmlDoc.getElementsByTagName(tagName);
//array
var arr = [];
// loop through nodes and push values to arr
for (var i = 0; i < nodes.length; i++){
arr.push(nodes[i].firstChild.data)
}
// get max value from arr
var maxVal = Math.max.apply(null,arr);
alert(maxVal);
Но яm хочет вернуть максимальное значение для ItemNo, где Name = AAA (valName).