Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml Xpath未获取最大值_Xml_Xpath - Fatal编程技术网

Xml Xpath未获取最大值

Xml Xpath未获取最大值,xml,xpath,Xml,Xpath,所以我一直在使用XPath1.0,似乎无法让max正常工作。。。。下面是我的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获取最高间隔数的值。唯一不起作用的部分是“and”后面的“max” 谢谢你的子表达式 //m:INTERVAL_NUM[no

所以我一直在使用XPath1.0,似乎无法让max正常工作。。。。下面是我的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获取最高间隔数的值。唯一不起作用的部分是“and”后面的“max”

谢谢你的子表达式

//m:INTERVAL_NUM[not(//INTERVAL_NUM > m:INTERVAL_NUM)]
位于谓词内部,这意味着您仅使用其布尔值;如果此子表达式至少选择一个节点(它总是这样做),则为真,因此该条件是冗余的


我无法帮助您在没有看到更多需求的情况下更正查询。但是,我要指出,如果源文档是“巨大的”,那么这将需要“永远”,其中“永远”是与“巨大”平方成比例的时间。

这是否返回预期值?对于第二个样本,它返回27.47472

//m:REPORT_DATA[m:DATA_ITEM='LMP_PRC' and not(m:INTERVAL_NUM < //m:INTERVAL_NUM)]/m:VALUE/text()
//m:REPORT\u DATA[m:DATA\u ITEM='LMP\u PRC'和not(m:INTERVAL\u NUM
如果您使用的是Java,那么您就不会被XPath 1.0所束缚。XPath2.0对Java的支持已经提供了很多年(主要但不完全来自Saxon)。与其将一只手绑在背后解决此问题,不如下载适合此项工作的工具。

请提供示例XML和所需结果。示例XML是一个巨大的文件:如图所示:所需结果是最高(最大)间隔期间“LMP\u PRC”的“值”\u numNote:我不能使用max,由于java只支持原生xpath 1.0,这就是我要说的。我假设您能够提供重现您的问题的示例XML。我在上面的XML文件中包含了一个pastebin链接,它非常庞大。我假设链接文件中LMP_PRC的最大间隔应该是大约240,并且应该有大约30的值。