遞歸獲取XML文件中的所有節點
導入dom4j jar包
pro.xml文件
<?xml version="1.0" encoding="UTF-8" ?> <students> <student id="1" message="this is Num.1"> <name>one</name> <age>1</age> <address>Beijing</address> </student> <student id="2" message="this is Num.2"> <name>two</name> <age>2</age> <address>Shanghai</address> </student> <student id="3" message="this is Num.3"> <name>three</name> <age>3</age> <address>Henan</address> </student> </students>
測試代碼,Text.java
package com.oracle.test; import java.util.ArrayList; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; import com.oracle.pojo.Student; public class Test { public static void main(String[] args) { List<Student> students=new ArrayList<Student>(); //獲取dom4j中解析對象 SAXReader reader=new SAXReader(); //讀取pro.xml文件 try { Document document=reader.read("./src/pro.xml"); Element rootElement=document.getRootElement(); List<Element> elements=rootElement.elements("student"); getChildElement(rootElement); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /* * 遞歸方法,獲取所有節點 */ public static void getChildElement(Element element) { System.out.println(element.getName()); List<Element> elements=element.elements(); if(element!=null){ for (Element element2 : elements) { getChildElement(element2); } } } }
運行結果:
提示:在讀取pro.xml文件時,要保證讀取的xml文件的路徑正確,否則會報錯。
dom4j-1.6.1.jar下載地址:https://pan.baidu.com/s/1IRQwKGLNVBGm0LpEEfnBfw 提取碼: kcyb