XML解析

dom4j

元素

解析xml文件

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

獲取根節(jié)點

    Element root = doc.getRootElement();

遍歷


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

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

保存

OutputFormat format=OutputFormat.createPrettyPrint();//創(chuàng)建一個漂亮的格式
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);//刪除指定的子節(jié)點,需要通過父節(jié)點來刪除  
ele.detach();//刪除所有的子節(jié)點,可以自己刪除自己

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

XPath

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

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

List<Node> list=doc.selectNodes("http://user");//選出多個節(jié)點
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");
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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

友情鏈接更多精彩內(nèi)容