使用dom4j-1.6.1.jar。
百度網盤下載
【Parser.class】
import org.dom4j.*;
import java.io.File;
import java.util.List;
public class Parser {
private Element root=null;
Parser(String file) throws DocumentException {
SAXReader sax = new SAXReader();//創建一個SAXReader對象
File xmlFile = new File(file);//根據指定的路徑創建file對象
Document document = sax.read(xmlFile);//獲取document對象,如果文檔無節點,則會拋出Exception提前結束
root = document.getRootElement();//獲取根節點
}
public Element getRoot(){
return root;
}
public void getNodes(Element node){
System.out.println("--------------------");
//當前節點的名稱、文本內容和屬性
System.out.println("當前節點名稱:"+node.getName());//當前節點名稱
System.out.println("當前節點內容:"+node.getTextTrim());//當前節點內容
List<Attribute> listAttr=node.attributes();//當前節點的所有屬性的list
for(Attribute attr:listAttr){//遍歷當前節點的所有屬性
String name=attr.getName();//屬性名稱
String value=attr.getValue();//屬性的值
System.out.println("屬性名稱:"+name+" 屬性值:"+value);
}
//遞歸遍歷當前節點所有的子節點
List<Element> listElement=node.elements();//所有一級子節點的list
for(Element e:listElement){//遍歷所有一級子節點
this.getNodes(e);//遞歸
}
}
}
【main.class】
public class main {
public static void main(String[] args) throws Exception {
Parser p=new Parser("/Users/zdy/Workspace/test.xml");
p.getNodes(p.getRoot());
}
}