您的位置:首页 > 其它

DOM4J 学习总结之 读取XML文件指定元素内容

2014-05-10 22:44 381 查看

1,要读取到内存的xml文件

person.xml文件
<?xml version="1.0" encoding="utf-8" ?>
<person-list>
<person id="001">
<name>
张三疯
</name>
<phone>13908999999</phone>
<gender>男</gender>
<gender>女</gender>
</person>
<person id="002">
<name>
小珊珊
</name>
<phone>13900000000</phone>
<gender>男</gender>
</person>
<person id="003">
<name>
雅蠛蝶
</name>
<phone>13908999999</phone>
<gender>女</gender>
</person>
</person-list>


2.自定义的Person类

package cn.itcast.dom4j;

public class Person {
private String id;
private String name;
private String gender;
private String phone;

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;
}
@Override
public String toString() {
return "Person [id=" + id + ", name=" + name + ", gender=" + gender
+ ", phone=" + phone + "]";
}
}


3.使用DOM4J 读取xml

package cn.itcast.dom4j;

import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

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

public class TestPerson {

public static void main(String[] args) throws Exception{
//1.构建Person对象集合,准备把所有<person>元素里面的信息封装进去
List<Person> personList = new ArrayList<Person>();

// -->从类路径下面加载xml文件
InputStream is = TestPerson.class.getResourceAsStream("/cn/itcast/dom4j/person.xml");

// 1、创建XML读取器对象// 2、读取xml文档,构建成Dom模型。
Document doc = new SAXReader().read(is);

// 获取xml文档的根元素
Element rootElement = doc.getRootElement();

//获取根元素下的所有子元素
List<Element> personElm = rootElement.elements();

//遍历这些子元素
for(Element e:personElm){
//读取每个<person>元素,并把他们里面的信息放入Person对象中
Person person = new Person();
person.setId(e.attributeValue("id"));
person.setName(e.element("name").getText());
person.setPhone(e.element("phone").getText());
person.setGender(e.elementText("gender"));//new

//3.把已经存放好<person>信息的Person对象放入集合中
personList.add(person);
}

//显示对象的信息
for(Person p:personList){
System.out.println(p);
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: