代码之家  ›  专栏  ›  技术社区  ›  mjsr

获取具有最大值的节点的ID

  •  3
  • mjsr  · 技术社区  · 15 年前

    我有类似的东西

     <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>
    

    我需要具有最大值的节点的ID, 我需要在使用xpath的javascript中这样做。

    我这样做:

    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 回复  |  直到 15 年前
        1
  •  3
  •   Dimitre Novatchev    15 年前

    使用 :

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

    准备好获取多个节点 ,因为可能有多个节点具有最大值。