09.05 java中利用dom4j解析XML文件


题目:后台利用dom4j解析student.xml文件,并返回List<student>集合/<student>

需要解析的XML:

java中利用dom4j解析XML文件


<classes>
<class>
<student>user1/<student>
<student>user2/<student>
<student>user3/<student>
/<class>
<class>
<student>user4/<student>
<student>user5/<student>
<student>user6/<student>
/<class>
<class>
<student>user7/<student>
<student>user8/<student>
<student>user9/<student>
/<class>
<class>
<student>user10/<student>
<student>user12/<student>
<student>user13/<student>
/<class>
<class>
<student>user14/<student>
<student>user15/<student>
<student>user16/<student>
/<class>
/<classes>
java中利用dom4j解析XML文件

java解析xml代码:

java中利用dom4j解析XML文件

/**
* @author hh
*/
public class XmlUtil {
/**
* 读取xml学生列表信息
* @return
*/
public List<student> listStudent(){
//创建SAXReader对象
SAXReader reader=new SAXReader();
Document document = null;
try {
//通过read方法读取一个文件 转换成Document对象
document = reader.read(new File("/Users/mac/Documents/students.xml"));
} catch (DocumentException e) {
e.printStackTrace();
}
//获取根节点元素对象
Element node = document.getRootElement();
return elementMethod(node);
}
/**
* 获取节点中的信息
* @param node
* @return
*/
private List<student> elementMethod(Element node){
List<student> list = new ArrayList<student>();
//获取所有class 节点
List<element> elementClass = node.elements("class");
for (Element aClass : elementClass) {
//获取所有student节点
List<element> elelmentStu=aClass.elements("student");
for (Element element : elelmentStu) {
//创建学生对象
Student stu = new Student();
//class节点里name的值
stu.setSclazz(aClass.attribute("name").getValue());
//student节点里ID的值
stu.setSid(element.attribute("id").getValue());
//student节点里的String值
stu.setSname(element.getStringValue());
list.add(stu);
}
}
return list;
}
}
/<element>/<element>/<student>/<student>/<student>/<student>

实体类:

View Code

@Test 代码:

View Code

运行结果:

java中利用dom4j解析XML文件


分享到:


相關文章: