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>