xml排序

汽类:

package day2.domx;

public class Car implements Comparable<Car>{

    private String band;//车牌
    private String place;//产地
    private String time; //出产日期
    private int price; //单价

    public Car(){}

    public String getBand() {
        return band;
    }

    public void setBand(String band) {
        this.band = band;
    }

    public String getPlace() {
        return place;
    }

    public void setPlace(String place) {
        this.place = place;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }

    @Override
    public int compareTo(Car car) {
        if(this.price < car.getPrice())
        {
            return 1;
        }else if(this.price > car.getPrice())
        {
          return -1;    
        }else
        {
            return 0;
        }
    }

}

car.xml
<?xml version="1.0" encoding="UTF-8"?>

<车辆清单> 
  <汽车> 
    <车牌 出产时间="2010年">奥迪</车牌>  
    <产地>北京</产地>  
    <单价>40</单价>
  </汽车>  
  <汽车> 
    <车牌 出产时间="2011年">本田</车牌>  
    <产地>广州</产地>  
    <单价>60</单价> 
  </汽车> 
</车辆清单>

排序代码:


import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;

public class Demo3 {

    @Test
    public void paixu() throws Exception
    {
        SAXReader saxread = new SAXReader();
        Document document = saxread.read(new File("src/day2/domx/car.xml"));

        List<Element> elementlist = document.getRootElement().elements();
        List<Car> carList = new ArrayList<Car>();  //存对象信息
        for(Element el:elementlist)
        {
            Car car = new Car();
            car.setBand(el.elementText("车牌号"));
            car.setPlace("产地");
            car.setTime(el.element("车牌").attributeValue("出产时间"));
            car.setPrice(Integer.parseInt(el.elementText("单价")));
            carList.add(car);

        }
             System.out.println("按单价排序前:");
                show(carList);
                //System.out.println("按单价排序后:");
                //sortByPriceDesc(carList);
    }

    private void sortByPriceDesc(List<Car> carList) {
        Collections.sort(carList);
        show(carList);

    }

    private void show(List<Car> carList) {
        if(carList!=null && carList.size()>0){
            for(Car car : carList){
                System.out.print("车牌:"+car.getBand()+"\t");
                System.out.print("产地:"+car.getPlace()+"\t");
                System.out.print("单价:"+car.getPrice()+"\t");
                System.out.println("出产时间:"+car.getTime());
            }
        }
    }
}

转载于:https://blog.51cto.com/357712148/2103920

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值