使用Java解析xml

使用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());
    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容