XPath查找公式

时间:2015-10-08 14:01:25

标签: xml xpath

我需要找到不同值的最大值,其中一些是数学方程式。

以下是我的XML:

<History AccountBalance="100" 
         AccountLimit="500" 
         AccountBalanceAvailable="400" 
         ValueX="50" 
         ValueY="75"/>

我想找到Max of:

Max((AccountBalance + ValueX + ValueY), (AccountBalanceAvailable - ValueY))

我是XPath的新手,无法找到类似这样的例子。

甚至不知道从哪里开始。在这个例子中

这将评估为Max(225 or 325) = 325

我不知道如何在XPATH中这样做。

2 个答案:

答案 0 :(得分:1)

您可以使用Xpath 2.0中的max()功能。

答案 1 :(得分:0)

在XPath 2.0中,

max((@AccountBalance + @ValueX + @Value, @AccountBalanceAvailable - @ValueY))

注意双重parens,因为max()不带两个参数,它只需要一个参数,这是一个数字序列。

在XPath 1.0中,它更加棘手,因为没有最大函数,也没有条件表达式。根据您使用的主机语言,我认为我会将两个值都返回给调用应用程序,并让调用应用程序对它们进行比较。