使用Dom4j操纵xml的读和写

来源:互联网 发布:win10桌面软件图标 编辑:程序博客网 时间:2024/06/02 10:59

package org.demo.dom4j;

import java.io.File;
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.OutputFormat;
import org.dom4j.io.XMLWriter;
import org.jdom.output.Format;

public class DemoDom4j {

 /**
  * @param args
  * @throws IOException
  */
 public static void main(String[] args) throws IOException {
  userDom4jWriterXml();
 }

 public static List<Student>  initStudent(){
  List<Student> stuList=new ArrayList<Student>();
  for (int i = 1; i < 5; i++) {
   stuList.add(new Student("NO"+i, "JDom_"+i, "男", 20+i, "Jdom__"+i));
  }
  return stuList;
 }
 
 public static void userDom4jWriterXml() throws IOException {
  /**
   * 在Dom4j中 创建所有的元素都是通过Dom4j的一个辅助类来创建DocumentHelper
   * 第一种方式来创建文档的根元素
   *  //创建文档
   Document document = DocumentHelper.createDocument();
   //创建一个根元素
   Element rootElement=DocumentHelper.createElement("students");
   //将根元素添加到文档中
   document.setRootElement(rootElement);
   */ 
  
    //第二种方式来创建文档和文档的根元素
   //创建根元素
   Element rootElement=DocumentHelper.createElement("students");
   //创建文档并以并创建根元素
   Document document=DocumentHelper.createDocument(rootElement);
   
   List<Student> stus=initStudent();
   for (Student s : stus) {
    //创建根元素下的子节点 <student>及添加属性
    Element student=rootElement.addElement("student").addAttribute("id", s.getId());
    //创建<student>下的子元素
    student.addElement("name").addText(s.getName());
    student.addElement("sex").addText(s.getSex());
    student.addElement("age").addText(s.getAge()+"");
    student.addElement("address").addText(s.getAddress());
   }
   
   
   
   XMLWriter writer=new XMLWriter(
     new FileOutputStream(new File("dom4j.xml")),
     new OutputFormat("    ",true)
     );
   writer.write(document);
  
 }
}

 

==============================================实体类=========================================

package org.demo.dom4j;

import java.io.Serializable;

public class Student implements Serializable {
 private String id;
 private String name;
 private String sex;
 private int age;
 private String address;
 public String getId() {
  return id;
 }
 public void setId(String id) {
  this.id = id;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public int getAge() {
  return age;
 }
 public void setAge(int age) {
  this.age = age;
 }
 public String getAddress() {
  return address;
 }
 public void setAddress(String address) {
  this.address = address;
 }
 
 
 public String getSex() {
  return sex;
 }
 public void setSex(String sex) {
  this.sex = sex;
 }
 public Student() {
  // TODO Auto-generated constructor stub
 }
 
 public Student(String id, String name,String sex, int age, String address) {
  super();
  this.id = id;
  this.name = name;
  this.sex=sex;
  this.age = age;
  this.address = address;
 }
 
 
 

}

 

原创粉丝点击