国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

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

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

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

先得引入dom4j的jar包放在項(xiàng)目的WEB-INF-->lib目錄下

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

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

//讀取XML文件,獲得document對(duì)象SAXReader reader = new SAXReader();Document document = null;try {document = reader.read(new File('E:eclipseXmlTestsrcxmluser.xml'));} catch (DocumentException e) {e.printStackTrace();}

上邊的try catch不加的話eclipse會(huì)報(bào)錯(cuò), 因?yàn)樯婕暗轿募僮? document不初始為null化也會(huì)報(bào)錯(cuò)

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

基本語(yǔ)句:

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

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

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的獲取(上面提到過(guò))查

我這里有個(gè)用戶表如下, 做后端的賬號(hào)密碼存儲(chǔ)

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

//user, password是前臺(tái)傳來(lái)的賬號(hào)密碼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; }}增

這里拿另一個(gè)xml舉例, 該xml存儲(chǔ)文章

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

示例增加一個(gè)文章,大家可以做的更復(fù)雜一些

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();刪

下面示例按標(biāo)簽內(nèi)容刪除一個(gè)節(jié)點(diǎn)

(應(yīng)該按某個(gè)屬性值如id刪除,因?yàn)樯侠非蠛?jiǎn)單沒(méi)設(shè)屬性)

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é)點(diǎn)后想修改什么就 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:這里再為大家提供幾款關(guān)于xml操作的在線工具供大家參考使用:

在線XML/JSON互相轉(zhuǎn)換工具: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

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

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 91精品一区国产高清在线 | 久久青草国产手机看片福利盒子 | 免费黄网在线观看 | www成人免费视频 | 永久精品免费影院在线观看网站 | 亚洲福利视频精选在线视频 | 亚洲超大尺度激情啪啪人体 | 国产精品视频一区二区三区 | 日韩精品特黄毛片免费看 | 女女互操| japanese 色系 tube日本 | 精品久久久久久久高清 | xxx免费视频 | 欧美在线视频看看 | 亚洲精品高清在线 | 日韩视频中文字幕 | 窝窝午夜精品一区二区 | 亚洲精品视频在线观看免费 | 欧美成人h | 欧美三级一区二区三区 | 精品视频在线视频 | 免费亚洲视频在线观看 | 美女双腿打开让男人桶爽网站 | 国产亚洲精品片a77777 | 久久综合久久自在自线精品自 | 国产在线精品一区二区夜色 | 久久一级毛片 | 一级成人a毛片免费播放 | 在线观看一级毛片免费 | a三级黄色片 | 日韩一区二区在线观看 | 香港a毛片免费全部播放 | 萌白酱福利视频 | 欧美成人观看 | 九九九精品视频 | 国产亚洲精品一区二区久久 | 亚洲视频在线网 | 久久精品成人欧美大片免费 | 亚洲欧美日韩在线一区 | 久久精品国产免费看久久精品 | 亚洲视频在线网站 |