2010-07-02 70 views
3

我有這樣的事情得到節點的ID與最大值

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

,我需要的是具有最大值, 我需要使用XPath做這在JavaScript中節點的ID。

我這樣做:

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

但不工作,:(

+2

到目前爲止,您的代碼是什麼? – 2010-07-02 16:05:31

+0

我用我試過的代碼編輯它 – mjsr 2010-07-02 16:30:22

回答

3

使用

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

要準備好一個以上節點,因爲有mig ht是具有最大值的幾個節點。

+0

@voodoomsr:我的回答對你有用嗎? – 2012-01-13 21:32:07

+0

我忘記把它標記爲anwswer,是的,它很有用 – mjsr 2012-01-13 21:49:58

+0

@voodoomsr:沒問題,你的問題是值得歡迎的。 – 2012-01-13 23:53:00