JAVA输出XML文件形式

来源:互联网 发布:追星 知乎 编辑:程序博客网 时间:2024/06/05 22:47

先写一个实例类

public class Emp {      private Integer empNo;    private String ename;    private double sal;     public Emp(){}    public Emp(Integer empNo, String ename, double sal) {        this.empNo = empNo;        this.ename = ename;        this.sal = sal;    }    public Integer getEmpNo() {        return empNo;    }    public void setEmpNo(Integer empNo) {        this.empNo = empNo;    }    public String getEname() {        return ename;    }    public void setEname(String ename) {        this.ename = ename;    }    public double getSal() {        return sal;    }    public void setSal(double sal) {        this.sal = sal;    }}
import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.util.ArrayList;import java.util.List;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.io.XMLWriter;/** *  * Dom4j写XML *  * 将JAVA对象,通过Dom4j  API,转换成文档对象(树状结构),通过输出流,将文档对象写入XML文件中 */public class XMLDemo3 {    public static void main(String[] args) throws IOException {        List<Emp> emps = findAll();        //1、通过文档帮助器,创建一个文档对象                Document doc = DocumentHelper.createDocument();        //2、添加根元素        Element root = doc.addElement("emps");        for (Emp emp : emps) {            //3、添加子元素,属性,文本            Element empEle = root.addElement("emp");            empEle.addAttribute("empNo", emp.getEmpNo()+"");            Element enameEle = empEle.addElement("ename");            enameEle.addText(emp.getEname());            Element salEle = empEle.addElement("sal");            salEle.addText(emp.getSal()+"");        }        //4、创建一个文件输出流        FileOutputStream fos = new FileOutputStream("emps.xml");        //装饰者模式  写XML文档的输出流        XMLWriter writer = new XMLWriter(fos);        writer.write(doc);        //writer.flush();        writer.close();    }    public static List<Emp> findAll(){        List<Emp> emps = new ArrayList<Emp>();        for (int i = 0; i < 100; i++) {            Emp emp = new Emp(10001+i,"职员"+i,5000+i);            emps.add(emp);        }        return emps;    }}

XStream应用
可以快速的将字符串转成java对象,也可以快速的将java对象转成字符串

首先导入xstream-1.3.1.jar的jar包(密码:kjv8)

import java.io.IOException;import java.util.ArrayList;import java.util.List;import com.thoughtworks.xstream.XStream;/** * Dom4j写XML *  * 将JAVA对象,通过Dom4j  API,转换成文档对象(树状结构),通过输出流,将文档对象写入XML文件中 */public class XMLDemo4 {    public static void main(String[] args) throws IOException {        List<Emp> emps = findAll();        //1.创建一个XStream对象        XStream stream = new XStream();        /**         * XStream可以直接把集合转成XML格式的字符串         *///      String xml = stream.toXML(emps);//      System.out.println(xml);        //定义元素名        stream.alias("emps", List.class); //根元素        stream.alias("emp", Emp.class); //子元素        //属性名        stream.useAttributeFor(Emp.class, "empNo");        stream.aliasAttribute("empno", "empNo"); //更改属性名        String xml = stream.toXML(emps);        System.out.println(xml);        //这样就快速的将集合转变成XML格式的字符串    }    public static List<Emp> findAll(){        List<Emp> emps = new ArrayList<Emp>();        for (int i = 0; i < 100; i++) {            Emp emp = new Emp(10001+i,"职员"+i,5000+i);            emps.add(emp);        }        return emps;    }}
原创粉丝点击