xml排序

前端之家收集整理的这篇文章主要介绍了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());
            }
        }
    }
}

猜你在找的XML相关文章