先看一下需求
user1
user2
user3
user4
user5
user6
user7
user8
user9
user10
user12
user13
user14
user15
user16
dom4j
dom4j
1.6.1
javax.servlet
servlet-api
2.5
junit
junit
4.12
public class Student {
private String username;
private String StudentClass;
private String id;
//get和set方法省略了
}
// 创建saxReader对象
SAXReader reader = new SAXReader();
// 通过read方法读取一个文件 转换成Document对象
Document document = reader.read(new File("src/main/resources/students.xml"));
//获取根节点元素对象
Element node = document.getRootElement();
public class Test01 {
List students =new ArrayList();
@Test
public void readXMLDemo() throws Exception {
// 创建saxReader对象
SAXReader reader = new SAXReader();
// 通过read方法读取一个文件 转换成Document对象
Document document = reader.read(new File("src/main/resources/students.xml"));
//获取根节点元素对象
Element node = document.getRootElement();
//遍历所有的元素节点
listNodes(node);
for (Student student : students) {
System.out.println(student);
}
}
/**
* 遍历当前节点元素下面的所有(元素的)子节点
*
* @param node
*/
public void listNodes(Element node) {
System.out.println("当前节点的名称::" + node.getName());
// 获取当前节点的所有属性节点
List list = node.attributes();
// 遍历属性节点
for (Attribute attr : list) {
System.out.println(attr.getText() + "-----" + attr.getName()
+ "---" + attr.getValue());
if (!(node.getTextTrim().equals(""))) {
System.out.println("文本内容::::" + node.getText());
Student student =new Student();
student.setUsername(node.getText());
student.setId(attr.getValue());
student.setStudentClass(attr.getParent().getParent().attribute(0).getValue());
students.add(student);
}
}
// 当前节点下面子节点迭代器
Iterator it = node.elementIterator();
// 遍历
while (it.hasNext()) {
// 获取某个子节点对象
Element e = it.next();
// 对子节点进行遍历
listNodes(e);
}
}
String path = getServletContext().getRealPath("/");
Document document = reader.read(new File(path+"/WEB-INF/classes/students.xml"));