XML解析——dom4j

1.创建xml文件
 
cn\itcast\cd\dom4j\students.xml
<?xml version="1.0" encoding="UTF-8"?> 
<students>
    <student sn="0001">
        <name>张三</name>
        <age>24</age>
    </student>
    <student sn="0002">
        <name>李四</name>
        <age>23</age>
    </student>
</students>
 
2.创建java实体类Student
 
src\cn\itcast\cd\dom4j\Student.java
package cn.itcast.cd.dom4j; 

public class Student {
    private String sn;
    private String name;
    private Integer age;

    public String getSn() {
        return sn;
    }

    public void setSn(String sn) {
        this.sn = sn;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "studnet: [" + sn + "," + name + "," + age + "]";
    }

}
 
3.创建Domain Access Object类StudentDAO
 
src\cn\itcast\cd\dom4j\StudentDAO.java
package cn.itcast.cd.dom4j; 

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

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;

public class StudentDAO {

    public List<Student> list() {
        List<Student> list = new ArrayList<Student>();

        try {
            SAXReader reader = new SAXReader();
            Document document = reader.read(new File("E:/Work/Workspace/MySelf/eclipse/day3/src/cn/itcast/cd/dom4j/students.xml"));

            // xml文件所有student元素
            List<Element> students = document.selectNodes("//student");

            for (Element element : students) {
                Student student = new Student();

                student.setSn(element.attributeValue("sn"));

                Element nameElement = (Element) element.selectNodes("name").get(0);
                student.setName(nameElement.getText());

                Element ageElement = (Element) element.selectNodes("age").get(0);
                student.setAge(Integer.parseInt(ageElement.getText()));

                list.add(student);
            }

        } catch (Exception e) {
            e.printStackTrace();
        }

        return list;
    }
}
 
4.测试类
 
src/cn/itcast/cd/dom4j/StudentTest.java
package cn.itcast.cd.dom4j; 

import java.util.List;

public class StudentTest {
    public static void main(String[] args) {
        StudentDAO studentDAO = new StudentDAO();
        List<Student> list = studentDAO.list();

        for (Student student : list) {
            System.out.println(student);
        }
    }
}
 
5.测试一下OK





posted @ 2012-04-02 10:55  jungor  阅读(264)  评论(0)    收藏  举报