假设我们有这个xml文件。
<measurements>
<ms date="2011-05-01">
<TempMin unit="°C">12.4</TempMin>
<TempMax unit="°C">18.2</TempMax>
</ms>
<ms date="2011-05-02">
<TempMin unit="°C">19.4</TempMin>
<TempMax unit="°C">24.2</TempMax>
</ms>
<ms date="2011-05-03">
<TempMin unit="°C">9.4</TempMin>
<TempMax unit="°C">12.2</TempMax>
</ms>
</measurements>
我想得到平均温度最高的ms元素-tempavg是(tempmin+tempmax)/2。我该怎么做?
我认为我的问题是,我不知道如何获得后面/前面兄弟姐妹的派生(计算)值。这可能吗?
最佳答案
使用xpath 2.0是可能的,但解决方案必须很复杂:
/measurements/ms[(number(TempMax/number(text()) + TempMin/number(text())) div 2) =
/measurements/max(ms/(number(TempMax/number(text()) + TempMin/number(text())) div 2))]
对于xpath 1.0可能不是-它包含一个非常小的函数列表