получить идентификатор узла с максимальным значением - PullRequest
3 голосов
/ 02 июля 2010

У меня есть что-то вроде этого

 <ValueSet>
    <value id="0">109.3</value>
    <value id="1">110.6</value>
    <value id="2">111.1</value>
    <value id="3">111.5</value>
 </ValueSet>

, и мне нужен идентификатор узла, который имеет максимальное значение, мне нужно сделать это в JavaScript, используя Xpath.

Я делаю это:

var path = "//ValueSet[not(value <= preceding-sibling::ValueSet/value) and " +
           "           not(value <= following-sibling::ValueSet/value)]";
var result = this.documentRoot.evaluate(path, this.documentRoot, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
alert("max:" + result.textContent);

но не работает,: (

1 Ответ

3 голосов
/ 02 июля 2010

Используйте :

/*/value[not(. < ../value)]/@id

Будьте готовы получить более одного узла , потому что можетбыть несколько узлов с максимальным значением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...