Xpath没有得到最大值

时间:2012-10-25 04:54:18

标签: xml xpath

所以我坚持使用Xpath 1.0,我似乎无法获得最大的工作....这是我的Xpath查询:

//m:REPORT_DATA[m:DATA_ITEM = 'LMP_PRC' and //m:INTERVAL_NUM[not(//INTERVAL_NUM > m:INTERVAL_NUM)]]/m:VALUE/text()

我试图通过data_item = LMP_PRC找到最高区间数的值。唯一不起作用的部分是“和”之后的“max”。

由于

3 个答案:

答案 0 :(得分:1)

您的子表达式

//m:INTERVAL_NUM[not(//INTERVAL_NUM > m:INTERVAL_NUM)]

位于谓词中,这意味着您只使用其布尔值;如果此子表达式选择至少一个节点(它总是这样做),则确实如此,因此条件是多余的。

我无法帮助您在不了解更多要求的情况下更正查询。然而,我会指出,如果你的源文件是“巨大的”,那么这将是“永远”,其中“永远”是一个与“巨大”相等的时间。

答案 1 :(得分:1)

这会返回预期值吗?对于第二个样本,它返回27.47472。

//m:REPORT_DATA[m:DATA_ITEM='LMP_PRC' and not(m:INTERVAL_NUM < //m:INTERVAL_NUM)]/m:VALUE/text()

答案 2 :(得分:0)

如果您使用的是Java,那么您就不会遇到XPath 1.0。 XP的XPath 2.0支持已经存在多年(主要但不仅限于Saxon)。不是用一只手绑在背后解决这个问题,而是下载适合工作的正确工具。