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>
<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 + "]";
}
}
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;
}
}
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);
}
}
}
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

浙公网安备 33010602011771号