Dom4j框架的使用
dom4j是一個Java的XML API,類似於jdom,用來讀寫XML檔案的。我們說Dom4j是一個框架,框架就是很多很多類的集合,它整合了DOM思想,將文件中的所有內容建立成物件放到記憶體中,利用事件驅動來對XML實現不同的操作。
1.Dom4j的引入
使用Dom4j時,必須首先引入dom4j.jar,如果使用到了它的擴充功能,還需要引入jaxen-1.1-beta-6.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>方法一
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方法二
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的操作的,所以這一塊的學習一定要和之前的HTML DOM結合起來,會事半功倍的。
相關文章
- dom4j 學習 -- 封裝dom4j工具類+如何使用dom4j解析封裝
- dom4j使用總結
- 使用dom4j 解析, 操作XMLXML
- 使用Dom4j解析XML案例XML
- java學習:使用dom4j讀寫xml檔案JavaXML
- dom4j解析xmlXML
- Dom4j 操作 XMLXML
- 使用框架和不使用框架的區別框架
- 【菜鳥學Java】9:使用dom4j解析jdbc.xmlJavaJDBCXML
- java的XML解析(DOM4J技術)JavaXML
- dom4j 讀取網路的xmlXML
- httprouter框架 (Gin使用的路由框架)HTTP框架路由
- dom4j寫特殊字元字元
- BootStrap框架的使用boot框架
- Dom4j解析XML資料XML
- Scrapy框架的使用之Scrapyrt的使用框架
- Scrapy框架的使用之Scrapy框架介紹框架
- MapReduce框架-Join的使用框架
- Mock 框架 Moq 的使用Mock框架
- dom4j遍歷巢狀xml巢狀XML
- Dom4j解析【開發中常用】
- Dom4j 讀寫XML簡介XML
- dom4j讀寫xml檔案XML
- 使用jquery和使用框架的區別jQuery框架
- User Notification Framework 框架的使用Framework框架
- 爬蟲框架-scrapy的使用爬蟲框架
- gin框架post路由的使用框架路由
- Scrapy爬蟲框架的使用爬蟲框架
- vue框架的簡單使用Vue框架
- 【Dubbo篇】--Dubbo框架的使用框架
- Android使用過的框架Android框架
- Nest.js框架的使用JS框架
- Docker框架的使用系列教程(四)容器的使用Docker框架
- Java DOM4J 方式解析XML檔案JavaXML
- 用dom4j,解析xml 最好、最方便!XML
- 利用dom4j來生成xml檔案XML
- dom4j 與 w3c document的相互轉換
- 四種操作xml的方式: SAX, DOM, JDOM , DOM4J的比較XML