gpt4 book ai didi

java - 需要 GPath 查询来查找最大日期 + 字符串字段

转载 作者:行者123 更新时间:2023-12-02 10:49:26 25 4
gpt4 key购买 nike

需要一种方法来搜索具有最大日期+值==“001”的条目

如果我这样做是为了查找带有最大日期+值==“001”的条目,则它不起作用。有没有办法进行组合查询?

def xmls = new XmlSlurper().parse(new File("C:/file.xml"));
Object oTest = xmls.Test.Entry.find{ v -> v.Value == "001" }.max{ d ->
Date.parse('MM/dd/yyyy', d.Date.toString())

输入xml示例:

<Test>
<Entry>
<Date>01/12/2017</Date>
<Value>001</Value>
</Entry>
<Entry>
<Date>02/15/2017</Date>
<Value>001</Value>
</Entry>
<Entry>
<Date>03/15/2017</Date>
<Value>002</Value>
</Entry>
</Test>

我需要的输出是:

Date>02/15/2017</Date>
<Value>001</Value>

最佳答案

def xmls = new XmlSlurper().parseText('''<Test>
<Entry>
<Date>01/12/2017</Date>
<Value>001</Value>
</Entry>
<Entry>
<Date>02/15/2017</Date>
<Value>001</Value>
</Entry>
<Entry>
<Date>03/15/2017</Date>
<Value>002</Value>
</Entry>
</Test>''');

Object oTest = xmls.Entry.findAll{ v -> v.Value == "001" }.max{ d -> Date.parse('MM/dd/yyyy', d.Date.toString()) }
println groovy.xml.XmlUtil.serialize(oTest)

结果:

<?xml version="1.0" encoding="UTF-8"?>
<Entry>
<Date>02/15/2017</Date>
<Value>001</Value>
</Entry>

关于java - 需要 GPath 查询来查找最大日期 + 字符串字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52282631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com