Dom4j增加,修改,刪除XML文件

一.如何配置Dom4j

xml解析: 點擊查看

二.修改項目類內容

  • 1.)增加:文檔,標籤,屬性
  • 2.)修改:屬性值,文本
  • 3.)刪除:標籤,屬性
1.)增加:文檔,標籤,屬性
a.創建文本write.xml
//創建文本
       Document doc = DocumentHelper.createDocument();
b.創建標籤
// 創建標籤
        Element rootElem=doc.addElement("contactList");//創建根標籤
        Element contElem = rootElem.addElement("cotact");創建子標籤
        contElem.addAttribute("id","001");//增加屬性
        Element nameElme = contElem.addElement("name");//增加子標籤
        nameElme.addText("張三");//添加姓名
        rootElem.addElement("cotact");//添加標籤
c.把創建的Document對象寫到xml文件
//3把創建的Document對象寫到xml文件
        //指定文件輸出位置
        FileOutputStream out = new FileOutputStream("./src/write.xml");
        //OutputFormat format = OutputFormat.createCompactFormat();//生成物理文件,佈局較亂適合電腦
        OutputFormat format = OutputFormat.createPrettyPrint();//標準化佈局,適合查看時顯示。
        //1.創建寫入文件
        format.setEncoding("utf-8");//指定文件格式 
        XMLWriter writer = new XMLWriter(out,format);
        writer.write(doc);//寫入文件
        System.out.println("寫入成功");
        writer.close();

結果如下:

增加:文本,標籤,屬性

2.)修改:屬性值,文本

#####注意:修改xml源文件one.xml;將修改的內容寫入write.xml

<?xml version="1.0" encoding="UTF-8"?>
<contactList>
    <contact id="1">
        <name>某某</name>
        <age>20</age>
        <phone>15426354785</phone>
        <qq>1024557455</qq>
    </contact>
    <contact id="2">
        <name>張三</name>
        <age>44</age>
        <phone>17854213658</phone>
        <qq>1024532584</qq>
    </contact>
</contactList>
a.修改屬性值

方案一:

//修改屬性值第一個id改爲“003”
        Document doc = new SAXReader().read("./src/one.xml");//得到標籤對象
        Element contEle = doc.getRootElement().element("contact");//得到屬性對象
        Attribute idAtt = contEle.attribute("id");
        idAtt.setValue("003");

方案一:修改xml源文件one.xml;將修改的內容寫入write.xml

方案二:

//修改屬性值第一個id改爲“004”
        //Element contEle2 = doc.getRootElement().element("contact");   //得到屬性對象
        //contEle2.addAttribute("id", "004");

方案二:修改xml源文件one.xml;將修改的內容寫入write.xml

b.修改文本
// 修改文本  1得到標籤,2修改文本 將第一個name值修改爲張飛
        Element nameEle = doc.getRootElement().element("contact").element("name");
        nameEle.setText("張飛");

修改文本將第一個name值修改爲張飛

3.)刪除:標籤,屬性

#####注意:刪除xml源文件one.xml內容;將刪除後的內容寫入write.xml

<?xml version="1.0" encoding="UTF-8"?>
<contactList>
    <contact id="1">
        <name>某某</name>
        <age>20</age>
        <phone>15426354785</phone>
        <qq>1024557455</qq>
    </contact>
    <contact id="2">
        <name>張三</name>
        <age>44</age>
        <phone>17854213658</phone>
        <qq>1024532584</qq>
    </contact>
</contactList>
a.刪除標籤

方案一:

//刪除第一個age標籤
    Element agename = doc.getRootElement().element("contact").element("age");//1.得到標籤
    agename.detach();//刪除標籤

方案二:

//刪除第一個age標籤
    Element agename = doc.getRootElement().element("contact").element("age");//1.得到標籤
   agename.getParent().remove(agename);//獲得該標籤的父標籤,然後在刪除其子標籤

刪除第一個age標籤

b.刪除屬性

方案一:

//刪除第2個id
   Element contEle = (Element) doc.getRootElement().elements().get(1);
   //得到屬性對象
   Attribute idatt= contEle.attribute("id");
   //方法一
   idatt.detach();//刪除屬性

方案二:

//刪除第2個id屬性
  Element contEle = (Element) doc.getRootElement().elements().get(1);
  //得到屬性對象
  Attribute idatt= contEle.attribute("id");
  idatt.getParent().remove(idatt);

刪除第2個id屬性

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章