一.如何配置Dom4j
xml解析: 點(diǎn)擊查看
二.修改項(xiàng)目類內(nèi)容
- 1.)增加:文檔遂蛀,標(biāo)簽,屬性
- 2.)修改:屬性值干厚,文本
- 3.)刪除:標(biāo)簽李滴,屬性
1.)增加:文檔螃宙,標(biāo)簽,屬性
a.創(chuàng)建文本write.xml
//創(chuàng)建文本
Document doc = DocumentHelper.createDocument();
b.創(chuàng)建標(biāo)簽
// 創(chuàng)建標(biāo)簽
Element rootElem=doc.addElement("contactList");//創(chuàng)建根標(biāo)簽
Element contElem = rootElem.addElement("cotact");創(chuàng)建子標(biāo)簽
contElem.addAttribute("id","001");//增加屬性
Element nameElme = contElem.addElement("name");//增加子標(biāo)簽
nameElme.addText("張三");//添加姓名
rootElem.addElement("cotact");//添加標(biāo)簽
c.把創(chuàng)建的Document對(duì)象寫到xml文件
//3把創(chuàng)建的Document對(duì)象寫到xml文件
//指定文件輸出位置
FileOutputStream out = new FileOutputStream("./src/write.xml");
//OutputFormat format = OutputFormat.createCompactFormat();//生成物理文件所坯,布局較亂適合電腦
OutputFormat format = OutputFormat.createPrettyPrint();//標(biāo)準(zhǔn)化布局谆扎,適合查看時(shí)顯示。
//1.創(chuàng)建寫入文件
format.setEncoding("utf-8");//指定文件格式
XMLWriter writer = new XMLWriter(out,format);
writer.write(doc);//寫入文件
System.out.println("寫入成功");
writer.close();
結(jié)果如下:
增加:文本芹助,標(biāo)簽堂湖,屬性
2.)修改:屬性值,文本
注意:修改xml源文件one.xml周瞎;將修改的內(nèi)容寫入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.修改屬性值
方案一:
//修改屬性值第一個(gè)id改為“003”
Document doc = new SAXReader().read("./src/one.xml");//得到標(biāo)簽對(duì)象
Element contEle = doc.getRootElement().element("contact");//得到屬性對(duì)象
Attribute idAtt = contEle.attribute("id");
idAtt.setValue("003");
方案一:修改xml源文件one.xml苗缩;將修改的內(nèi)容寫入write.xml
方案二:
//修改屬性值第一個(gè)id改為“004”
//Element contEle2 = doc.getRootElement().element("contact"); //得到屬性對(duì)象
//contEle2.addAttribute("id", "004");
方案二:修改xml源文件one.xml;將修改的內(nèi)容寫入write.xml
b.修改文本
// 修改文本 1得到標(biāo)簽声诸,2修改文本 將第一個(gè)name值修改為張飛
Element nameEle = doc.getRootElement().element("contact").element("name");
nameEle.setText("張飛");
修改文本將第一個(gè)name值修改為張飛
3.)刪除:標(biāo)簽酱讶,屬性
注意:刪除xml源文件one.xml內(nèi)容;將刪除后的內(nèi)容寫入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.刪除標(biāo)簽
方案一:
//刪除第一個(gè)age標(biāo)簽
Element agename = doc.getRootElement().element("contact").element("age");//1.得到標(biāo)簽
agename.detach();//刪除標(biāo)簽
方案二:
//刪除第一個(gè)age標(biāo)簽
Element agename = doc.getRootElement().element("contact").element("age");//1.得到標(biāo)簽
agename.getParent().remove(agename);//獲得該標(biāo)簽的父標(biāo)簽彼乌,然后在刪除其子標(biāo)簽
刪除第一個(gè)age標(biāo)簽
b.刪除屬性
方案一:
//刪除第2個(gè)id
Element contEle = (Element) doc.getRootElement().elements().get(1);
//得到屬性對(duì)象
Attribute idatt= contEle.attribute("id");
//方法一
idatt.detach();//刪除屬性
方案二:
//刪除第2個(gè)id屬性
Element contEle = (Element) doc.getRootElement().elements().get(1);
//得到屬性對(duì)象
Attribute idatt= contEle.attribute("id");
idatt.getParent().remove(idatt);
刪除第2個(gè)id屬性