亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Java使用dom4j實現對xml簡單的增刪改查操作示例

瀏覽:3日期:2022-09-01 10:49:08

本文實例講述了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:eclipseXmlTestsrcxmluser.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();

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算法相關內容感興趣的讀者可查看本站專題:《Java數據結構與算法教程》、《Java操作DOM節點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》

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

標簽: Java
相關文章:
主站蜘蛛池模板: 亚洲欧洲国产视频 | 亚洲国产乱码在线精品 | 国产黄色一级网站 | 亚洲综合男人的天堂色婷婷 | 国产高清狼人香蕉在线观看 | 国产主播专区 | 国产成人深夜福利短视频99 | 午夜大片免费完整在线看 | 麻豆国产在线观看一区二区 | 一级一片免费视频播放 | 亚洲第一成人天堂第一 | 精品国产不卡一区二区三区 | 玖玖爱zh综合伊人久久 | 欧美精品v欧洲高清 | 亚洲免费黄色网 | 免费成人黄色片 | 黄色在线播放网址 | 国产日韩久久久精品影院首页 | 欧美一级在线 | 草草免费观看视频在线 | 久久精品这里是免费国产 | 久久综合中文字幕一区二区 | 国产成人亚洲综合a∨婷婷 国产成人亚洲综合无 | 第四色婷婷基地 | 天天拍夜夜操 | 国产精品麻豆入口 | 一级黄色片在线看 | 国产不卡在线观看视频 | 亚欧综合 | 男女在线观看啪网站 | 打电话系列国产在线 | 日本人伦一区二区三区 | 男人午夜影院 | 国产精品福利久久香蕉中文 | 欧美一区二区三区四区在线观看 | 久草在线中文888 | 中文字幕在线观看不卡 | 亚洲精品一区二区三区第四页 | 日韩美女专区中文字幕 | 国产97色在线 | 亚洲 | 欧美黄色一级片视频 |