小編給大家分享一下Dom4j修改xml文檔引入的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)建站是一家專注于做網(wǎng)站、網(wǎng)站建設(shè)與策劃設(shè)計(jì),依安網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:依安等地區(qū)。依安做網(wǎng)站價(jià)格咨詢:13518219792
一、首先看一下,寫出內(nèi)容到xml文檔的主要代碼:
XMLWriter writer = new XMLWriter(OutputStream, OutputForamt) wirter.write(Document);
整個業(yè)務(wù)邏輯和解釋如下代碼所示:
public class Demo1 { public static void main(String[] args) throws Exception{ //一、讀取或創(chuàng)建一個Document對象 //讀取day07項(xiàng)目的xm文件(封裝數(shù)據(jù)源) Document doc = new SAXReader().read(new File("./src/contact.xml")); //二、修改Document對象內(nèi)容.那么這里就把原來的文檔給修改了。 //注意:如果這里不做修改數(shù)據(jù)源文件的內(nèi)容,則相當(dāng)于復(fù)制功能。 //三、把修改后的Document對象寫出到xml文檔中 //指定文件輸出的位置(封裝目的地) FileOutputStream out = new FileOutputStream("d:/contact.xml"); //1.創(chuàng)建寫出對象,指定寫出位置。 XMLWriter writer = new XMLWriter(out); //2.寫出對象,把數(shù)據(jù)源的文件內(nèi)容經(jīng)過修改之后寫到目的地文件內(nèi)去。 writer.write(doc); //3.關(guān)閉流 writer.close(); } }
二、討論寫出內(nèi)容到xml文檔的細(xì)節(jié),即寫出格式也很重要。代碼解釋如下:
public class Demo2 { /** * @param args */ public static void main(String[] args) throws Exception{ Document doc = new SAXReader().read(new File("./src/contact.xml")); //指定文件輸出的位置 FileOutputStream out = new FileOutputStream("d:/contact.xml"); /** * 1.指定寫出的格式 */ OutputFormat format = OutputFormat.createCompactFormat(); //緊湊的格式.去除空格換行.項(xiàng)目上線的時(shí)候使用 //OutputFormat format = OutputFormat.createPrettyPrint(); //漂亮的格式.有空格和換行.開發(fā)調(diào)試的時(shí)候使用 /** * 2.指定生成的xml文檔的編碼 * 同時(shí)影響了xml文檔保存時(shí)的編碼 和 xml文檔聲明的encoding(xml解析時(shí)的編碼)的編碼。都設(shè)置成了一個編碼方式保持了一致。 * 結(jié)論: 使用該方法生成的xml文檔避免中文亂碼問題。 */ format.setEncoding("utf-8"); //1.創(chuàng)建寫出對象 XMLWriter writer = new XMLWriter(out,format); //2.寫出對象 writer.write(doc); //3.關(guān)閉流 writer.close(); } }
我們要做的就是 對“二”部分做修改。下一篇,對整個過程以代碼形式解釋,dom4j修改文件的流程。
以上是Dom4j修改xml文檔引入的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!