java使用dom4j生成與解析xml文檔的方法示例
本文實例講述了java使用dom4j生成與解析xml文檔的方法。分享給大家供大家參考,具體如下:
xml是一種新的數(shù)據(jù)格式,主要用于數(shù)據(jù)交換。我們所用的框架都有涉及到xml。因此解析或生成xml對程序員也是一個技術(shù)難點。這里就用dom4j來生成一個文檔,需要注意的是每個xml文檔只有一個根節(jié)點。
package org.lxh; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.UnsupportedEncodingException; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter; public class CreateXml { public static void main(String[] args) { File f=new File("d:"+File.separator+"my.xml"); Document docu=DocumentHelper.createDocument(); //創(chuàng)建xml文檔 Element linkman=docu.addElement("linkman"); //創(chuàng)建根節(jié)點 Element name=linkman.addElement("name"); //創(chuàng)建子元素 Element age=linkman.addElement("age"); name.setText("陳瑞銀"); //設(shè)置name節(jié)點的內(nèi)容 age.setText("22"); //設(shè)置age節(jié)點的內(nèi)容 OutputFormat format=OutputFormat.createPrettyPrint(); //指定輸出格式 format.setEncoding("UTF-8"); //指定輸出編碼 try { XMLWriter w=new XMLWriter(new FileOutputStream(f),format); //輸出文件 w.write(docu); //輸出內(nèi)容 w.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
現(xiàn)在看一下文檔生成沒有,如圖所示
文檔生成了,這個文檔比較簡單。生成復(fù)雜的文檔也是一樣的道理。下面來解析一下這個xml。
代碼如下所示
package org.lxh; import java.io.File; import java.util.Iterator; import org.dom4j.*; import org.dom4j.io.SAXReader; public class ReadXml { public static void main(String[] args) { File f=new File("d:"+File.separator+"my.xml"); SAXReader read=new SAXReader(); //建立SAX解析讀取 Document document=null; try { document=read.read(f); //讀取文檔 Element root=document.getRootElement(); //取得根元素 //下面給注釋的部分用于解析復(fù)雜的xml(3層或以上) /*Iterator it=root.elementIterator(); //取得全部子節(jié)點 while(it.hasNext()) { /*Element e=(Element)it.next(); System.out.println(e.elementText("name")); //取得文本元素 System.out.println(e.elementText("age")); }*/ System.out.println(root.elementText("age")); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
下面是運行效果截圖
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é)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
Java 實戰(zhàn)項目錘煉之樸素風(fēng)格個人博客系統(tǒng)的實現(xiàn)流程
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java+vue+Springboot+ssm+mysql+maven+redis實現(xiàn)一個樸素風(fēng)格的個人博客系統(tǒng),大家可以在過程中查缺補漏,提升水平2021-11-11手把手教你在eclipse創(chuàng)建第一個java?web項目并運行
Eclipse是用來做開發(fā)的自由集成開發(fā)環(huán)境,這也是很多java程序員會使用的開發(fā)環(huán)境,所以可以使用eclipse創(chuàng)建javaweb項目,下面這篇文章主要給大家介紹了關(guān)于如何在eclipse創(chuàng)建第一個java?web項目并運行的相關(guān)資料,需要的朋友可以參考下2023-02-02關(guān)于SpringCloud?Ribbon替換輪詢算法問題
Spring?Cloud?Ribbon是基于Netlix?Ribbon實現(xiàn)的一套客戶端負(fù)載均衡的工具。接下來通過本文給大家介紹SpringCloud?Ribbon替換輪詢算法問題,需要的朋友可以參考下2022-01-01利用spring-data-redis實現(xiàn)incr自增的操作
這篇文章主要介紹了利用spring-data-redis實現(xiàn)incr自增的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11SpringCloud中的Feign服務(wù)間的調(diào)用詳解
這篇文章主要介紹了SpringCloud中的Feign服務(wù)間的調(diào)用詳解,Feign 是一個聲明式的 REST 客戶端,它能讓 REST 調(diào)用更加簡單,Feign 供了 HTTP 請求的模板,通過編寫簡單的接口和插入注解,就可以定義好 HTTP 請求的參數(shù)、格式、地址等信息,需要的朋友可以參考下2024-01-01