本篇文章為大家展示了利用dom4j如何實(shí)現(xiàn)操作xml文件中的demo,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
在柴桑等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都全網(wǎng)營(yíng)銷,成都外貿(mào)網(wǎng)站制作,柴桑網(wǎng)站建設(shè)費(fèi)用合理。
廢話不多說(shuō),直接上代碼
package com.cn.shop.util; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.util.Iterator; import java.util.List; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; /** * * @author NH * */ public class XmlUtils { public static Document getDocument() { // 1.讀取xml文件獲取document對(duì)象 SAXReader reader = new SAXReader(); Document document = null; try { document = reader.read("D:\\itext\\27663.xml"); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } // 2.通過(guò)解析xml的文本 /* * String xmlFilePath = "D:\\itext\\27663.xml"; try { document = * DocumentHelper.parseText(xmlFilePath); } catch (DocumentException e) * { // TODO Auto-generated catch block e.printStackTrace(); } // 3.通過(guò) * Document document = DocumentHelper.createDocument(); Element root = * document.addElement("csdn"); */ return document; } public static void anaXml() throws Exception { // 讀取xml的文本內(nèi)容來(lái)創(chuàng)建document對(duì)象 SAXReader reader = new SAXReader(); try { Document document = reader.read("D:\\itext\\27663.xml"); Element root = document.getRootElement(); System.out.println(root.getName()); getElement(root); /* elementMethod(root); */ /* * // 獲取一個(gè)節(jié)點(diǎn) Element element = root.element("title"); * * * //獲取element的id屬性節(jié)點(diǎn)對(duì)象 Attribute attr = element.attribute("id"); * //刪除屬性 element.remove(attr); * * // 添加新屬性 element.addAttribute("author", "作者"); * * // 添加新的節(jié)點(diǎn) Element newElement = root.addElement("where"); // * 設(shè)定新節(jié)點(diǎn)的值 newElement.setText("北京人民出版社,天津人民大學(xué)出版社"); * * // 獲取element中的where元素節(jié)點(diǎn)對(duì)象 Element author = * element.element("where"); // 刪除元素節(jié)點(diǎn) boolean flag = * element.remove(author); // 返回true代碼刪除成功,否則失敗 * System.out.println(flag); // 添加CDATA區(qū)域 * element.addCDATA("紅樓夢(mèng),是一部愛情小說(shuō)."); // 寫入到一個(gè)新的文件中 writer(document); */ } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /* * * 所有節(jié)點(diǎn)內(nèi)容 */ public static void getElement(Element root) { // 獲取當(dāng)前節(jié)點(diǎn)的所有屬性節(jié)點(diǎn) List<Attribute> as = root.attributes(); for (Attribute a : as) { System.out.println("當(dāng)前屬性節(jié)點(diǎn)的名稱:" + a.getName()); /* * System.out.println("當(dāng)前屬性節(jié)點(diǎn)的內(nèi)容:" + a.getText()); * * System.out.println("當(dāng)前屬性節(jié)點(diǎn)的值:" + a.getValue()); */ } if (!root.getTextTrim().equals("")) { System.out.println("文本內(nèi)容::::" + root.getText()); } Iterator<Element> el = root.elementIterator(); while (el.hasNext()) { // 獲取某個(gè)子節(jié)點(diǎn)對(duì)象 Element e = el.next(); // 對(duì)子節(jié)點(diǎn)進(jìn)行遍歷 getElement(e); } } /** * 介紹Element中的element方法和elements方法的使用 * * @param node */ public static void elementMethod(Element node) { // 獲取node節(jié)點(diǎn)中,子節(jié)點(diǎn)的元素名稱為西游記的元素節(jié)點(diǎn)。 Element e = node.element("info"); // 獲取西游記元素節(jié)點(diǎn)中,子節(jié)點(diǎn)為chapter的元素節(jié)點(diǎn)(可以看到只能獲取第一個(gè)作者元素節(jié)點(diǎn)) Element author = e.element("classification"); System.out.println(e.getName() + "----" + author.getText()); // 獲取西游記這個(gè)元素節(jié)點(diǎn) 中,所有子節(jié)點(diǎn)名稱為classification元素的節(jié)點(diǎn) 。 List<Element> authors = e.elements("classification"); for (Element aut : authors) { System.out.println(aut.getText()); } // 獲取西游記這個(gè)元素節(jié)點(diǎn) 所有元素的子節(jié)點(diǎn)。 List<Element> elements = e.elements(); for (Element el : elements) { System.out.println(el.getText()); } } /** * 把document對(duì)象寫入新的文件 * * @param document * @throws Exception */ public static void writer(Document document) throws Exception { // 緊湊的格式 // OutputFormat format = OutputFormat.createCompactFormat(); // 排版縮進(jìn)的格式 OutputFormat format = OutputFormat.createPrettyPrint(); // 設(shè)置編碼 format.setEncoding("UTF-8"); // 創(chuàng)建XMLWriter對(duì)象,指定了寫出文件及編碼格式 /* * XMLWriter writer = new XMLWriter(new OutputStreamWriter(new * FileOutputStream(new File("src//a.xml")), "UTF-8"), format); */ File file = new File("c://index//大主宰.xml"); FileOutputStream fos = new FileOutputStream(file); OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8"); XMLWriter writer = new XMLWriter(osw); // 寫入 writer.write(document); // 立即寫入 writer.flush(); // 關(guān)閉操作 writer.close(); } // 以下的代碼為字符串與xml互轉(zhuǎn)實(shí)例 public void test() throws Exception { // 創(chuàng)建saxreader對(duì)象 SAXReader reader = new SAXReader(); // 讀取一個(gè)文件,把這個(gè)文件轉(zhuǎn)換成Document對(duì)象 Document document = reader.read(new File("src//c.xml")); // 獲取根元素 Element root = document.getRootElement(); // 把文檔轉(zhuǎn)換字符串 String docXmlText = document.asXML(); System.out.println(docXmlText); System.out.println("---------------------------"); // csdn元素標(biāo)簽根轉(zhuǎn)換的內(nèi)容 String rootXmlText = root.asXML(); System.out.println(rootXmlText); System.out.println("---------------------------"); // 獲取java元素標(biāo)簽 內(nèi)的內(nèi)容 Element e = root.element("java"); System.out.println(e.asXML()); } /** * 創(chuàng)建一個(gè)document對(duì)象 往document對(duì)象中添加節(jié)點(diǎn)元素 轉(zhuǎn)存為xml文件 * * @throws Exception */ public void test2() throws Exception { Document document = DocumentHelper.createDocument();// 創(chuàng)建根節(jié)點(diǎn) Element root = document.addElement("csdn"); Element java = root.addElement("java"); java.setText("java班"); Element ios = root.addElement("ios"); ios.setText("ios班"); writer(document); } /** * 把一個(gè)文本字符串轉(zhuǎn)換Document對(duì)象 * * @throws Exception */ public void test1() throws Exception { String text = "<csdn><java>Java班</java><net>Net班</net></csdn>"; Document document = DocumentHelper.parseText(text); Element e = document.getRootElement(); System.out.println(e.getName()); writer(document); } /** * 把document對(duì)象寫入新的文件 * * @param document * @throws Exception */ public void writer1(Document document) throws Exception { // 緊湊的格式 // OutputFormat format = OutputFormat.createCompactFormat(); // 排版縮進(jìn)的格式 OutputFormat format = OutputFormat.createPrettyPrint(); // 設(shè)置編碼 format.setEncoding("UTF-8"); // 創(chuàng)建XMLWriter對(duì)象,指定了寫出文件及編碼格式 // XMLWriter writer = new XMLWriter(new FileWriter(new // File("src//a.xml")),format); XMLWriter writer = new XMLWriter(new OutputStreamWriter(new FileOutputStream(new File("src//c.xml")), "UTF-8"), format); // 寫入 writer.write(document); // 立即寫入 writer.flush(); // 關(guān)閉操作 writer.close(); } public static void main(String[] args) { try { anaXml(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
上述內(nèi)容就是利用dom4j如何實(shí)現(xiàn)操作xml文件中的demo,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站欄目:利用dom4j如何實(shí)現(xiàn)操作xml文件中的demo
網(wǎng)頁(yè)URL:http://sd-ha.com/article38/pepepp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、App設(shè)計(jì)、、網(wǎng)站改版、網(wǎng)站導(dǎo)航、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)