需求
 

 
 
<dependencies>
    
    <dependency>
        <groupId>dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>1.6.1</version>
    </dependency>
</dependencies>
 
 
List<Order> orderList = new ArrayList<>();
SAXReader saxReader = new SAXReader();
File file = new File("demo/src/main/java/com/ruoyi/demo1/order.xml");
if (!file.exists()) {
   System.out.println("文件不存在");
   return;
}
try{
   
   Document document = saxReader.read(file);
   
   Element rootElement = document.getRootElement();
   
   List<Element> elements = rootElement.elements();
   
   for (Element element : elements) {
       
       int id = Integer.parseInt(element.attributeValue("id"));
       String name = element.elementText("name");
       DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
       LocalDateTime time = LocalDateTime.parse(element.elementText("time"), formatter);
       double price = Double.parseDouble(element.elementText("price"));
       
       Order order = new Order(id, name, time, price);
       
       orderList.add(order);
   }
}catch (Exception e){
   e.printStackTrace();
}
ArrayList<Order> timeDesc = orderList.stream().sorted((o1, o2) -> o1.getTime().compareTo(o2.getTime())).
       collect(Collectors.toCollection(ArrayList::new));
timeDesc.forEach(System.out::println);
List<Order> priceDesc = orderList.stream().sorted((o1, o2) -> Double.compare(o1.getPrice(), o2.getPrice())).limit(1).collect(Collectors.toList());
System.out.println("价格最低的订单是:" + priceDesc.get(0));