Dom4j解析【開發中常用】
需要導包:dom4j-1.6.1.jar jaxen-1.1-beta-6.jar
------讀取---------
package com. atguigu.xml.dom4j;
import java. util.Iterator;
import java. util.List;
import org. dom4j.Document;
import org. dom4j.Element;
import org. dom4j.io.SAXReader;
public class Dom4jParse {
//①查詢某一個節點 : 查詢id 為007的學員的所有資訊
public static void main(String[] args) throws Exception {
//1.獲取解析器物件
SAXReader reader = new SAXReader ();
//2.獲取Document 物件
Document document = reader.read( "XML/students.xml");
//3.獲取XML 文件的根節點物件
Element rootElement = document .getRootElement ();
//4.獲取所有的student 元素物件,並進行遍歷
List <Element > stuList = rootElement.elements( "student");
Iterator <Element > iterator = stuList .iterator ();
while (iterator .hasNext ()) {
Element stuEle = iterator .next ();
//5.獲取每一個student 元素物件的id屬性值
String idStr = stuEle .attributeValue ("id");
//6.檢測id 屬性值是否等於 007
if("007" .equals (idStr )) {
//7.如果等於則獲取name值和 age值
Element nameEle = stuEle .element ("name");
Element ageEle = stuEle .element ("age");
String nameStr = nameEle .getText ();
String ageStr = ageEle .getText ();
System .out .println ("name="+nameStr+"
age="+ageStr);
}
}
}
}
------寫入-----
package com. atguigu.xml.dom4j;
import java. io.FileWriter;
import org. dom4j.Document;
import org. dom4j.Element;
import org. dom4j.io.OutputFormat ;
import org. dom4j.io.SAXReader;
import org. dom4j.io.XMLWriter;
public class Dom4jEdit {
//②新增某一個節點 :
"姓名:張三丰,id:武當 ,年齡:108
public static void main(String[] args) throws Exception {
//1.獲取Document 物件
SAXReader reader = new SAXReader ();
Document document = reader.read( "XML/students.xml");
//2.構建並新增節點內容
/*
<student id=" 武當">
<name> 張三丰</name>
<age>108</age>
</student>
*/
//①獲取根節點,在根節點下,新增 student元素<student></student>
//②在新student 中新增id屬性 <student
id="武當"></student>
//③在新student 下面新增name元素 <student
id="武當"><name></name></student>
//④在新name 下新增文字<student
id="武當 "><name>張三丰</name></student>
//⑤在新student 下面新增age元素 <student
id="武當"><name> 張三丰</name><age></age></student>
//⑥在新age 下新增文字<student
id="武當 "><name>張三丰</name><age>108</age></student>
Element rootElement = document .getRootElement ();
rootElement
.addElement ("student")
.addAttribute ("id", " 武當")
.addElement ("name")
.addText ("張三丰 ")
.getParent ()
.addElement ("age")
.addText ("108");
//3.將更新的內容寫入XML文件
//①獲取XMlWriter 物件
//為了使XML 節點內容寫入後保持較好的格式,可以傳入一個格式物件
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer = new XMLWriter (new FileWriter("XML/studentsNewPretty.xml"), format);
//②將Document 物件寫入
writer .write (document );
//③關閉XMlWriter 物件
writer .close ();
}
}
相關文章
- dom4j解析xmlXML
- dom4j 學習 -- 封裝dom4j工具類+如何使用dom4j解析封裝
- 使用dom4j 解析, 操作XMLXML
- Dom4j解析XML資料XML
- 使用Dom4j解析XML案例XML
- C#開發中常用加密解密方法解析C#加密解密
- java的XML解析(DOM4J技術)JavaXML
- Java DOM4J 方式解析XML檔案JavaXML
- 用dom4j,解析xml 最好、最方便!XML
- DOM4J 解析 XML 之忽略轉義字元XML字元
- iOS開發常用巨集,持續更新中iOS
- node中的url常用方法解析
- 中移鏈合約常用開發介紹 (一)開發基本流程
- Stable Diffusion中的常用術語解析
- 用dom4j SAXReader解析xml檔案及字串XML字串
- Java解析XML彙總(DOM/SAX/JDOM/DOM4j/XPath)JavaXML
- iOS 開發中 runtime 常用的幾種方法iOS
- 【菜鳥學Java】9:使用dom4j解析jdbc.xmlJavaJDBCXML
- 開發中最常用
- 軟體開發中oracle查詢常用方法總結Oracle
- php開發中經常用到的正則驗證PHP
- springweb開發中編碼亂碼問題解析SpringWeb
- Android開發中Retrofit常見註解全解析Android
- 瞭解開源協議:常用開源協議解析協議
- 企業應用開發中.NET EF常用哪種模式?模式
- 日常開發中的幾個常用跨域處理方式跨域
- iOS開發中陣列常用的五種遍歷方式iOS陣列
- 在b/s開發中經常用到的javaScript技術JavaScript
- 中移鏈合約常用開發介紹(三)工程化開發智慧合約
- iOS開發常用快捷鍵iOS
- java開發常用jar包JavaJAR
- ios的常用開發框架iOS框架
- iOS開發常用的巨集iOS
- iOS開發常用函式iOS函式
- Java開發中Netty執行緒模型原理解析!JavaNetty執行緒模型
- iOS開發-JSON解析iOSJSON
- pydev部署開發全解析dev
- DOM 常用 API 解析API