package cn.zdh.dom4j_read;
//使用dom4j将xml文件信息封装成对象。
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Demo5 {
public static void main(String[] args) throws Exception {
//读取xml文件
SAXReader reader = new SAXReader();
Document doc = reader.read(new File("./src/contact.xml"));
//创建list对象,用于保存Contact对象
List<Contact> list = new ArrayList<Contact>();
//获取xml信息中所有contact标签
List<Element> elelist = doc.getRootElement().elements("contact");
//将获取到的文本信息放到Contact对象中
for(Element elem:elelist){
Contact con = new Contact();
con.setId(elem.attributeValue("id"));
con.setName(elem.elementText("name"));
con.setGender(elem.elementText("gender"));
con.setPhone(elem.elementText("phone"));
con.setEmail(elem.elementText("email"));
con.setAddress(elem.elementText("address"));
//将Contact对象添加到list集合中。
list.add(con);
}
//将list集合中的元素打印。
for(Contact conn:list){
System.out.println(conn);
}
}
}
Contact类:
package cn.zdh.dom4j_read;
public class Contact {
private String id;
private String name;
private String gender;
private String phone;
private String email;
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 String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String toString() {
return "Contact [address=" + address + ", email=" + email + ", gender="
+ gender + ", id=" + id + ", name=" + name + ", phone=" + phone
+ "]";
}
}
附上xml文件的内容:
<?xml version="1.0" encoding="UTF-8"?>
<contact_list>
<contact id="001">
<name>张三</name>
<gender>男</gender>
<phone>13411112222</phone>
<email>zhangsan@qq.com</email>
<address>河北石家庄</address>
</contact>
<contact id="002">
<name>李四</name>
<gender>女</gender>
<phone>13511112222</phone>
<email>lisi@qq.com</email>
<address>山东济南</address>
</contact>
<student>
</student>
</contact_list>