Java写xml

作者: O夢緣飛 | 来源:发表于2018-03-01 00:45 被阅读0次

Java写xml文件的源代码

package xml01;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

/**

  • 使用DOM生成xml文档
  • @author Administrator

*/
public class WriterxmlDemo {

public static void main(String[] args) {
    List<Emp> empList = new ArrayList<Emp>();
    empList.add(new Emp(1,"张三",22,"男",3000));
    empList.add(new Emp(2,"李四",23,"男",4000));
    empList.add(new Emp(3,"王五",24,"男",5000)); 
    empList.add(new Emp(4,"赵六",25,"男",6000));
    empList.add(new Emp(5,"钱七",26,"男",7000));
/*
 * 将empList集合中的员工信息保存到myemp.xml中
 *******************************************************
 * 写出xml文档的大致步骤:
 * 1.创建一个Document对象表示一个空白的xml文档
 * 2.向Decument对象中添加根元素
 * 3.根据应当生成的xml文档的格式逐级向根元素中添加子元素以形成xml文档格式
 * 4.创建XmlWriter
 * 5.通过Xmlwriter将Decument写出
 */
XMLWriter  writer = null;
try {
    //创建一个Document对象表示一个空白的xml文档
    Document document = DocumentHelper.createDocument();
    //添加根标签<list>,该方法只可以使用一次
    Element root =document.addElement("list");
    //将emplist集合中的每个员工信息以一个<emp>标签的形式保存到<list>标签中
    for(Emp emp:empList) {          
        Element empEle = root.addElement("emp");//向跟标签list中添加子标签<emp>
        
        Element nameEle = empEle.addElement("name");//向<emp>标签中添加<name>
        nameEle.addText(emp.getName());//向name标签中添加名字文本
         
        Element ageEle = empEle.addElement("age");//向<emp>标签中添加<age>
        ageEle.addText(String.valueOf(emp.getAge()));//向age标签中添加名字文本
        
        Element genderEle = empEle.addElement("gender");//向<emp>标签中添加<gender>
        genderEle.addText(emp.getGender());//向gender标签中添加名字文本
        
        Element salaryEle = empEle.addElement("salary");//向<emp>标签中添加<salary>
        salaryEle.addText(String.valueOf(emp.getSalary()));//向salary标签中添加名字文本
        
        empEle.addAttribute("id",emp.getId()+"");//加入Id属性
    }
    FileOutputStream fos = new FileOutputStream("myemp.xml");//创建文件
    writer = new XMLWriter(fos,OutputFormat.createPrettyPrint());//写出 ,没后半部分会输出成一行
    writer.write(document);
    System.out.println("写出完毕!");
    writer.close();//关闭流 
}catch(Exception e) {
    e.printStackTrace();
}finally {
    if(writer != null) {
        try {
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

}
}

小结:new XMLWriter(fos,OutputFormat.createPrettyPrint());//写出 ,没后半部分会输出成一行,xml如果格式为一行,格式快捷键为crl+shift+F或者右键source+Format

相关文章

网友评论

    本文标题:Java写xml

    本文链接:https://www.haomeiwen.com/subject/ccpwxftx.html