2013-08-22 46 views
0

我的XML feed中有<price><newprice>兩個值。
我需要的是xpath函數只有在它的值比舊的<price>小時才顯示<newprice>。如果值不小,則不顯示任何內容(或者0也可以)。xpath - 如果值小於其他值

例子:

<price>88</price><newprice>88</newprice>結果會是 '0'
<price>88</price><newprice>45</newprice>結果會是 '45'

總的來說,我想newprice是隻有當它的較小值可見。否則應顯示爲'0'。由於

+1

也許一個示例輸入和預期輸出在這裏會有所幫助。 –

+0

@Larson恐怕這個例子還不夠清楚。此外,最好通過編輯問題來添加示例,而不是在評論中寫入。 – acdcjunior

+0

對不起,大家剛剛學習如何使用這一切。發佈示例 - 足夠了嗎? – Larson

回答

0

對於輸入

<?xml version="1.0" encoding="UTF-8"?> 
<prices> 
    <price>88</price> 
    <newprice>88</newprice> 
</prices> 

XPath 1.0中這可能是工作(沒有返回值,如果新的價格不低)

/prices/newprice[number(.) &lt; number(preceding-sibling::price)] 

XPath 2.0中可以這樣做(返回零)

if (prices/newprice &lt; prices/price) then prices/newprice else 0 
+0

謝謝Jirka。對不起,我正在嘗試修改某人的其他工作,所以還不確定詳細信息,如xpath版本。我會測試兩個並讓結果在這裏。非常感謝。 – Larson

+0

謝謝Jirka和Passerby – Larson