91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java如何使用dom4j實現對xml簡單的增刪改查

發布時間:2020-07-23 09:28:39 來源:億速云 閱讀:221 作者:小豬 欄目:編程語言

這篇文章主要講解了Java如何使用dom4j實現對xml簡單的增刪改查,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

xml留了個結課作業: 后臺用xml文件作為存儲做個迷你系統實現增刪改查的功能, 在此記錄一下

先得引入dom4j的jar包放在項目的WEB-INF-->lib目錄下

Java如何使用dom4j實現對xml簡單的增刪改查

先新建一個讀取器,  讀取你想操作的xml文件(我這里寫的絕對路徑)

//讀取XML文件,獲得document對象
SAXReader reader = new SAXReader();
Document document = null;
try {
	document = reader.read(new File("E:\\eclipse\\XmlTest\\src\\xml\\user.xml"));
} catch (DocumentException e) {
	e.printStackTrace();
}

上邊的try catch不加的話eclipse會報錯, 因為涉及到文件操作, document不初始為null化也會報錯

//獲得根節點的屬性對象
Element rootElem = document.getRootElement();

基本語句:

//以下操作以root為例,所有節點都可以并非只有根節點,下面的孩子指第一代孩子
 
//返回root節點的標簽名為"user"的孩子節點,如果有多個只返回第一個
Element contactElem = rootElem.element("user");
 
//獲取節點標簽之間的內容
String text=contactElem .getText();
 
//返回所有的孩子節點,即一個List<Element>
List<Element> eles = rootElem.elements();
 
//返回該節點的屬性,返回的是一個對象
Attribute rootAttr = rootElem.attribute("id");
 
//更改屬性值
rootAttr.setValue("更改后的id值");
 
//給元素新增屬性和屬性值
rootElem.addAttribute("name", "新增成功!");
 
//刪除節點的某屬性
rootElem.remove(rootAttr);
 
//節點和節點的屬性都可以獲取名字(標簽名/屬性名)
String idName = rootAttr.getName();
String tagName = rootElem.getName();
 
//獲取屬性的屬性值
String value=rootAttr.getValue(); 

所有涉及到修改增加的操作, 修改完dom對象后都要寫回文件:

OutputFormat format=OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
org.dom4j.io.XMLWriter writer=new org.dom4j.io.XMLWriter(new FileOutputStream(new File(這里填你的xml路徑)), format);
writer.write(document);
writer.close();

 以下都省略文件的讀取和document / rootElem的獲取(上面提到過)

我這里有個用戶表如下, 做后端的賬號密碼存儲

Java如何使用dom4j實現對xml簡單的增刪改查

//user, password是前臺傳來的賬號密碼
boolean RightPassword=false;
List<Element> eles = rootElem.elements();
for (Element ele : eles) 
{
  if(ele.element("account").getText().equals(user))
  {
  	if(ele.element("password").getText().equals(password))
  		RightPassword=true;
  	return;
  }
}

這里拿另一個xml舉例, 該xml存儲文章

Java如何使用dom4j實現對xml簡單的增刪改查

示例增加一個文章,大家可以做的更復雜一些

Element newArticle=rootElem.addElement("article");
newArticle.setText("文章內容");
//以下的輸出文件和上面提到的一樣
OutputFormat format=OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
org.dom4j.io.XMLWriter writer=new org.dom4j.io.XMLWriter(new FileOutputStream(new File("你的xml路徑")), format);
writer.write(document);
writer.close();

下面示例按標簽內容刪除一個節點

(應該按某個屬性值如id刪除,因為上例追求簡單沒設屬性)

List<Element> eles = rootElem.elements();
for (Element ele : eles) 
{
	if(ele.getText().equals("按照內容刪除"))
	{
		rootElem.remove(ele);
	}
}
//以下的輸出文件和上面提到的一樣
OutputFormat format=OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
org.dom4j.io.XMLWriter writer=new org.dom4j.io.XMLWriter(new FileOutputStream(new File("你的xml路徑")), format);
writer.write(document);
writer.close();

和上面的刪除只有一句不同, 找到節點后想修改什么就 set什么就可以了

List<Element> eles = rootElem.elements();
for (Element ele : eles) 
{
	if(ele.getText().equals("按照內容修改"))
	{
		ele.setText("修改后的內容");
	}
}
//以下的輸出文件和上面提到的一樣
OutputFormat format=OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
org.dom4j.io.XMLWriter writer=new org.dom4j.io.XMLWriter(new FileOutputStream(new File("你的xml路徑")), format);
writer.write(document);
writer.close();

看完上述內容,是不是對Java如何使用dom4j實現對xml簡單的增刪改查有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

中江县| 广宁县| 高清| 鄢陵县| 镇康县| 班玛县| 抚顺市| 五峰| 泸定县| 贵港市| 嘉定区| 河东区| 五指山市| 青神县| 安达市| 康乐县| 巴彦县| 龙州县| 静乐县| 泰和县| 镇远县| 禄丰县| 福海县| 双辽市| 长岭县| 图片| 衢州市| 武义县| 临猗县| 大石桥市| 嵊泗县| 西乌珠穆沁旗| 新源县| 南宫市| 古蔺县| 民权县| 满洲里市| 斗六市| 郎溪县| 太谷县| 贵州省|