Dom4j增加,修改,刪除XML檔案

2021-07-25 21:30:07 字數 3902 閱讀 9957

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"?>

id="1">

某某name>

20age>

15426354785phone>

1024557455qq>

contact>

id="2">

張三name>

44age>

17854213658phone>

1024532584qq>

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");

方案二:

//修改屬性值第乙個id改為「004」

//element contele2 = doc.getrootelement().element("contact"); //得到屬性物件

b.修改文字

// 修改文字  1得到標籤,2修改文字 將第乙個name值修改為張飛

element nameele = doc.getrootelement().element("contact").element("name");

nameele.settext("張飛");

3.)刪除:標籤,屬性

#####注意:刪除xml原始檔one.xml內容;將刪除後的內容寫入write.xml

<?xml version="1.0" encoding="utf-8"?>

id="1">

某某name>

20age>

15426354785phone>

1024557455qq>

contact>

id="2">

張三name>

44age>

17854213658phone>

1024532584qq>

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);//獲得該標籤的父標籤,然後在刪除其子標籤

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);

//得到屬性物件

dom4j 使用dom4j生成xml

使用org.dom4j.element 建立xml 生成service.xml檔案 param tran 交易物件 param filepath 資料夾路徑 public static void exportservicexml listtranlist,string filepath servic...

用dom4j來修改xml文件

用dom4j來修改xml文件 建立文件document document document documenthelper.createdocument 建立元素 element element document.addelement 元素名稱 建立屬性 element.addattribute 屬性...

使用dom4j修改XML檔案內容

1 使用dom4j修改xml檔案的屬性 節點 public static int modixmlfile string filename,string newfilename 修改內容之二 把owner項內容改為tshinghua 並在owner節點中加入date節點,date 節點的內容為2004...