最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java使用dom4j實現(xiàn)對xml簡單的增刪改查操作示例

 更新時間:2020年05月21日 10:07:17   作者:NO0b  
這篇文章主要介紹了Java使用dom4j實現(xiàn)對xml簡單的增刪改查操作,結合實例形式詳細分析了Java使用dom4j實現(xiàn)對xml簡單的增刪改查基本操作技巧與相關注意事項,需要的朋友可以參考下

本文實例講述了Java使用dom4j實現(xiàn)對xml簡單的增刪改查操作。分享給大家供大家參考,具體如下:

xml留了個結課作業(yè): 后臺用xml文件作為存儲做個迷你系統(tǒng)實現(xiàn)增刪改查的功能, 在此記錄一下

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

先新建一個讀取器,  讀取你想操作的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化也會報錯

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

基本語句:

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

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

//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存儲文章

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

Element newArticle=rootElem.addElement("article");
newArticle.setText("文章內(nèi)容");
//以下的輸出文件和上面提到的一樣
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();

下面示例按標簽內(nèi)容刪除一個節(jié)點

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

List<Element> eles = rootElem.elements();
for (Element ele : eles) 
{
	if(ele.getText().equals("按照內(nèi)容刪除"))
	{
		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();

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

List<Element> eles = rootElem.elements();
for (Element ele : eles) 
{
	if(ele.getText().equals("按照內(nèi)容修改"))
	{
		ele.setText("修改后的內(nèi)容");
	}
}
//以下的輸出文件和上面提到的一樣
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();

PS:這里再為大家提供幾款關于xml操作的在線工具供大家參考使用:

在線XML/JSON互相轉換工具:
http://tools.jb51.net/code/xmljson

在線格式化XML/在線壓縮XML
http://tools.jb51.net/code/xmlformat

XML在線壓縮/格式化工具:
http://tools.jb51.net/code/xml_format_compress

XML代碼在線格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat

更多關于java算法相關內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結構與算法教程》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設計有所幫助。

相關文章

  • java程序中protobuf的基本用法示例

    java程序中protobuf的基本用法示例

    這篇文章主要給大家介紹了關于java程序中protobuf的基本用法,protobuf 與json相比具有 壓縮比高 、解壓縮速度更快的優(yōu)點,本文通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-08-08
  • Java實現(xiàn)簡單碰撞檢測

    Java實現(xiàn)簡單碰撞檢測

    這篇文章主要為大家詳細介紹了Java實現(xiàn)簡單碰撞檢測,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Java 集合系列(二)ArrayList詳解

    Java 集合系列(二)ArrayList詳解

    這篇文章主要介紹了Java集合系列ArrayList,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • 淺談同步監(jiān)視器之同步代碼塊、同步方法

    淺談同步監(jiān)視器之同步代碼塊、同步方法

    下面小編就為大家?guī)硪黄獪\談同步監(jiān)視器之同步代碼塊、同步方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Java鎖機制Lock用法示例

    Java鎖機制Lock用法示例

    這篇文章主要介紹了Java鎖機制Lock用法,結合具體實例形式分析了Java鎖機制的相關上鎖、釋放鎖、隱式鎖、顯式鎖等概念與使用技巧,需要的朋友可以參考下
    2018-08-08
  • java生成隨機數(shù)的方法

    java生成隨機數(shù)的方法

    這篇文章主要介紹了java生成隨機數(shù)的方法,涉及java隨機數(shù)及字符串操作的相關技巧,需要的朋友可以參考下
    2015-05-05
  • Java中的HashMap源碼解析

    Java中的HashMap源碼解析

    這篇文章主要介紹了Java中的HashMap源碼解析,當HashMap中的其中一個鏈表的對象個數(shù)如果達到了8個,此時如果數(shù)組長度沒有達到64,那么HashMap會先擴容解決,如果已經(jīng)達到了64,那么這個鏈表會變成紅黑樹,需要的朋友可以參考下
    2023-12-12
  • IDEA?2021.3?使用及idea2021.3.1激活使用方法

    IDEA?2021.3?使用及idea2021.3.1激活使用方法

    IDEA?全稱?IntelliJ?IDEA,是java語言開發(fā)的集成環(huán)境,IntelliJ在業(yè)界被公認為最好的java開發(fā)工具之一,今天通過本文給大家介紹idea2021.3.1激活及使用教程,感興趣的朋友一起看看吧
    2022-01-01
  • WebDriver中實現(xiàn)對特定的Web區(qū)域截圖方法

    WebDriver中實現(xiàn)對特定的Web區(qū)域截圖方法

    這篇文章主要介紹了WebDriver中實現(xiàn)對特定的Web區(qū)域截圖方法,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
    2015-06-06
  • Java實現(xiàn)讀取及生成Excel文件的方法

    Java實現(xiàn)讀取及生成Excel文件的方法

    這篇文章主要介紹了Java實現(xiàn)讀取及生成Excel文件的方法,結合實例形式分析了java通過引入第三方jar包poi-3.0.1-FINAL-20070705.jar實現(xiàn)針對Excel文件的讀取及生成功能,需要的朋友可以參考下
    2017-12-12

最新評論

南川市| 遂平县| 双辽市| 海兴县| 静海县| 台北县| 文山县| 湖南省| 汝南县| 梓潼县| 太仓市| 泾阳县| 乐亭县| 洛阳市| 高邑县| 循化| 洛阳市| 龙口市| 定结县| 报价| 浑源县| 巴彦县| 和林格尔县| 城步| 三江| 紫金县| 都匀市| 石阡县| 霍山县| 夹江县| 鹤壁市| 吉林市| 大城县| 呼图壁县| 伊金霍洛旗| 威海市| 青冈县| 高雄市| 罗甸县| 上饶市| 彭水|