XML解析

dom4j

元素

解析xml文件

    SAXReader reader=new SAXReader();
    Document doc=reader.read("book.xml");

獲取根節點

    Element root = doc.getRootElement();

遍歷


    List<Element> list=root.elements();//獲取所有的子節點
    for (Element ele : list) {      
        List<Element> child = ele.elements();
        for (Element element : child) {
            element.getName();//獲取標簽的名稱
            element.getText();//獲取標簽的內容
            element.getNodeType();//獲取標簽的類型 1 代表元素類型  3 代表文本類型
        }
    }

Element ele=root.elementByID("1001");//根據ID快速獲取指定的元素
Element pwd=ele.element("標簽名");//獲取指定標簽名的元素

保存

OutputFormat format=OutputFormat.createPrettyPrint();//創建一個漂亮的格式
XMLWriter writer=new XMLWriter(new FileOutputStream("book.xml"),format);
writer.write(doc);//將doc對象寫入的xml文件中

添加

Element root=doc.getRootElement();
Element author=root.addElement("book");//添加一個book的子元素

刪除

Element root=doc.getRootElement();
Element ele=doc.elementByID("b2");
root.remove(ele);//刪除指定的子節點,需要通過父節點來刪除  
ele.detach();//刪除所有的子節點,可以自己刪除自己

Element book=root.elementByID("b1");
Element name=book.element("name");
name.setText("西游記");

XPath

使用XPath對xml文件的元素進行導航
首先需要導包:jaxen.jar

Node password=doc.selectSingleNode("http://user[3]/aa/password");//選出單個節點

List<Node> list=doc.selectNodes("http://user");//選出多個節點
for (Node node : list) {
    System.out.println(node.getName());
}

屬性

Attribute name = ele.attribute("name");//獲取單個指定的屬性
List<Attribute> list = ele.attributes("name");//獲取所有指定的屬性

Element ele=root.elementByID("user");
ele.addAttribute("sex", "men");

Element ele=root.elementByID("user");
ele.removeAttribute("sex");

Attribute name = ele.attribute("name");//獲取單個指定的屬性
name.setText("lisi");
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. XML總結 1.1. XML簡介 XML : 可擴展的標記語言。(和HTML非常類似的) 可擴展的。 自定義...
    Ethan_Walker閱讀 3,117評論 0 12
  • 詳解Java中的XML解析 前言 XML,全稱Extensibible Markup Language, 主要用于...
    顏洛濱閱讀 3,724評論 1 17
  • DOM4J Dom4j是一個簡單、靈活的開源庫,dom4j使用接口和抽象基類,Dom4j的API相對要復雜一些但比...
    扒塊腹肌閱讀 9,761評論 3 9
  • Java Web開發實戰經典 在項目開發中,HTML的主要功能是進行數據展示,而要進行數據存儲結構的規范化就需要使...
    年少懵懂丶流年夢閱讀 1,678評論 0 9
  • xml解析 xml簡介 XML(eXtended Markup Language,可擴展標記性語言),xml可以對...
    無止無盡閱讀 1,435評論 0 7