使用Dom4j修改萝风、刪除元素和屬性值,需要先獲取dom4j樹(即Document)规惰,通常需要修改的節(jié)點(diǎn)需要先獲得該節(jié)點(diǎn)或其父節(jié)點(diǎn),欲 修改屬性歇万,需要先獲得該屬性所在的節(jié)點(diǎn)和該屬性揩晴。dom4j提供了非常方便操作的API,修改和刪除元素使用Element類贪磺,修改屬性使用Attribute類,具體操作通過一個實(shí)例來進(jìn)行說明寒锚。
使用Dom4j修改呻粹、刪除元素和屬性值,需要先獲取dom4j樹(即Document)苏研,通常需要修改的節(jié)點(diǎn)需要先獲得該節(jié)點(diǎn)和其父節(jié)點(diǎn)對象等浊;需要修改的屬性,需要先獲得該屬性所在的節(jié)點(diǎn)和該屬性對象摹蘑。dom4j提供了非常方便操作的API,修改和刪除元素使用Element類衅鹿,修改屬性使用Attribute類,具體操作通過一個實(shí)例來進(jìn)行說明大渤。
要修改的XML文檔內(nèi)容如下:
<?xml version="1.0" encoding="UTF-8"?>
<employees>
<employee id="1001">
<name>張三</name>
</employee>
</employees>
java代碼如下:
package com.bug315.update;
import java.io.File;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
/**
* 使用Dom4j修改XML文檔指定的元素
* @author administrator
* @date 2015年12月20日19:46:06
*/
public class UpdateElementTest01 {
public static void main(String[] args) throws Exception {
// 獲取文檔對象
String xml="上文xml結(jié)構(gòu)";
Document document = DocumentHelper.parseText(xml);;
Element root = document.getRootElement();
Element employeeEle = root.element("employee");
// (1)將employee元素名稱改為emp
employeeEle.setName("emp");
// (2)將employee元素的id屬性名稱改為bh泵三,值改為2000
Attribute idAttribute = employeeEle.attribute("id");
// a、先刪除id屬性
employeeEle.remove(idAttribute);
// b烫幕、設(shè)置新的屬性俺抽,bh=2000
employeeEle.addAttribute("bh", "2000");
// (3)將employee元素下面的name元素刪除掉较曼,將name元素的值作為employee元素的值
Element nameElement = employeeEle.element("name");
String value = nameElement.getTextTrim();
employeeEle.remove(nameElement);
employeeEle.setText( value );
// 將修改后的XML文檔輸出到終端,查看修改結(jié)果
XMLWriter writer = new XMLWriter();
writer.write(document);
writer.close();
}
}
用dom4j生成xml弛饭,去掉xml頭 <\xml version="1.0" encoding="UTF-8">
document.getRootElement().asXML();