具有最大值的元素的XPath?

时间:2017-11-22 19:52:52

标签: xml xpath

我有一个包含不同出版物的XML文件。我希望找到2010年之前发布的timesCited最高的出版物。我现在有这样的出版物:

/publications/publication[timesCited = max(/publications/publication/timesCited)]
                         [yearFinished < 2010]

问题是,这会检查最高timesCited,这是2011年的出版物,因此不返回任何内容。我希望在2010年之前找到引用量最高的出版物。我该怎么做呢?

2 个答案:

答案 0 :(得分:1)

以下表达式应该有效

/publications/publication[yearFinished < 2010][timesCited = max(/publications/publication[yearFinished < 2010]/timesCited)]

希望有所帮助

答案 1 :(得分:1)

这个XPath,

//publication[yearFinished < 2010]
             [timesCited = max(//publication[yearFinished < 2010]/timesCited)]

将根据要求选择最大为publication的2010年之前的timesCited元素。