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文件


分享到:


相關文章: