Dom4j框架的使用
來源:程序員人生 發布時間:2015-05-08 08:00:50 閱讀次數:3112次
dom4j是1個Java的XML API,類似于jdom,用來讀寫XML文件的。我們說Dom4j是1個框架,框架就是很多很多類的集合,它整合了DOM思想,將文檔中的所有內容創建成對象放到內存中,利用事件驅動來對XML實現不同的操作。
1.Dom4j的引入
使用Dom4j時,必須首先引入dom4j.jar,如果使用到了它的拓展功能,還需要引入jaxen⑴.1-beta⑹.jar。
2.對XML的操作
要想實現對XML的操作,首先必須讀取到XML文檔:
SAXReader reader = new SAXReader();
Document document = reader.read(new File("src/student.xml"));
①查詢
//1取得根元素
Element root = document.getRootElement();
//2遍歷根元素下student的子元素
Iterator<Element> it = root.elementIterator("student");
while(it.hasNext()){
Element studentEle = it.next();
//3取得number屬性
String number =studentEle.attributeValue("number");
String name = studentEle.elementText("name");
String age = studentEle.elementText("age");
String sex = studentEle.elementText("sex");
}
②添加
//1獲得students根元素
Element root = document.getRootElement();
//2添加學生元素
Element student = root.addElement("student").addAttribute("number", "ITCAST_003");
//3增加子元素
student.addElement("name").addText("Fanny");
student.addElement("age").addText("23");
student.addElement("sex").addText("female");
//4將新添加的寫回到文檔中
//1>創建格式化器
OutputFormat format = OutputFormat.createPrettyPrint();
//2>創建寫入器
XMLWriter writer = new XMLWriter(new FileWriter("src/studentcopy.xml"),format);
//3>寫入文件
writer.write(document);
//4>關閉資源
writer.close();
③刪除
//1.獲得根元素
Element root = document.getRootElement();
//2.遍歷student的子元素
//2.1>方法1
Iterator<Element> it = root.elementIterator("student");
while(it.hasNext()){
Element studentEle = it.next();
String number = studentEle.attributeValue("number");
if(number == "jerry"){
it.remove();
}
}
//2.2方法2
List<Element> list = root.elements("student");
for(int i = 0; i < list.size(); i++){
Element studentEle = list.get(i);
//3.判斷學號是不是等于被刪除學生,是的話就履行刪除
if("itcast_0001".equals(studentEle.attribute("number"))){
studentEle.getParent().remove(studentEle);
break;
}
}
//3.保存到文檔
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer = new XMLWriter(new FileOutputStream("src/studentDel.xml"),format);
writer.write(document);
writer.close();
總結:
在學習Dom4j的進程中,感覺很像學習js的時候對DOM的操作,實際上,Dom4j也正是在DOM的基礎上實現對XML的操作的,所以這1塊的學習1定要和之前的HTML DOM結合起來,會事半功倍的。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈