最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java DOM4J方式生成XML的方法

 更新時(shí)間:2018年07月18日 14:34:59   作者:陳夏明  
今天小編就為大家分享一篇Java DOM4J方式生成XML的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

使用DOM4J方式生成XML文件的步驟如下:

引入JAR包

通過DocumentHelper類的createDocument()創(chuàng)建Document對(duì)象

通過Document的addElement()方法創(chuàng)建節(jié)點(diǎn)

通過Element的addAttribute()方法為節(jié)點(diǎn)添加屬性

通過Element的setText()方法為節(jié)點(diǎn)設(shè)置內(nèi)容

通過OutputFormat的createPrettyPrint()方法創(chuàng)建OutputFormat對(duì)象(會(huì)自動(dòng)縮進(jìn)、換行)

創(chuàng)建XMLWriter對(duì)象,將目的文件包裝成OutputStream傳入構(gòu)造方法中,并將OutputFormat對(duì)象一并傳入其中

通過XMLWriter的write()方法生成XML文件,并將Document對(duì)象作為參數(shù)傳入

關(guān)閉XMLWriter對(duì)象

下面給出完整代碼:

package util;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

public class XMLUtils {

 public void CreateXMLByDOM4J(File dest) {
  // 創(chuàng)建Document對(duì)象
  Document document = DocumentHelper.createDocument();
  // 創(chuàng)建根節(jié)點(diǎn)
  Element rss = document.addElement("rss");
  //為rss根節(jié)點(diǎn)添加屬性
  rss.addAttribute("version", "2.0");
  // 創(chuàng)建channel子節(jié)點(diǎn)
  Element channel = rss.addElement("channel");
  // 創(chuàng)建title子節(jié)點(diǎn)
  Element title = channel.addElement("title");
  // 設(shè)置title節(jié)點(diǎn)的值
  title.setText("<![CDATA[上海移動(dòng)互聯(lián)網(wǎng)產(chǎn)業(yè)促進(jìn)中心正式揭牌 ]]>");

  // 創(chuàng)建輸出格式(OutputFormat對(duì)象)
  OutputFormat format = OutputFormat.createPrettyPrint();

  ///設(shè)置輸出文件的編碼
//  format.setEncoding("GBK");

  try {
   // 創(chuàng)建XMLWriter對(duì)象
   XMLWriter writer = new XMLWriter(new FileOutputStream(dest), format);

   //設(shè)置不自動(dòng)進(jìn)行轉(zhuǎn)義
   writer.setEscapeText(false);

   // 生成XML文件
   writer.write(document);

   //關(guān)閉XMLWriter對(duì)象
   writer.close();
  } catch (IOException e) {
   e.printStackTrace();
  }
 }

}

若想自定義XML文件的編碼方式,可使用OutputFormat對(duì)象的setEncoding()方法設(shè)置:

///設(shè)置輸出文件的編碼
format.setEncoding("GBK");

DOM4J會(huì)對(duì)某些特殊字符進(jìn)行自動(dòng)轉(zhuǎn)義,若不想讓DOM4J進(jìn)行自動(dòng)轉(zhuǎn)義,我們可以通過XMLWriter的setEscapeText()方法進(jìn)行設(shè)置。

默認(rèn)情況下,DOM4J會(huì)自動(dòng)進(jìn)行轉(zhuǎn)義,相當(dāng)于writer.setEscapeText(true);

若不想讓其自動(dòng)轉(zhuǎn)義,可使用writer.setEscapeText(false);

以上這篇Java DOM4J方式生成XML的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot集成RbbitMQ隊(duì)列踩坑記錄

    SpringBoot集成RbbitMQ隊(duì)列踩坑記錄

    這篇文章主要介紹了SpringBoot集成RbbitMQ隊(duì)列踩坑記錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 源碼解析springbatch的job運(yùn)行機(jī)制

    源碼解析springbatch的job運(yùn)行機(jī)制

    這篇文章主要介紹了springbatch的job是如何運(yùn)行的,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • java  Lock接口詳解及實(shí)例代碼

    java Lock接口詳解及實(shí)例代碼

    這篇文章主要介紹了java Lock接口詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • JAVA流控及超流控后的延遲處理實(shí)例

    JAVA流控及超流控后的延遲處理實(shí)例

    這篇文章主要介紹了JAVA流控及超流控后的延遲處理,以實(shí)例形式較為詳細(xì)的分析了Java進(jìn)行流量控制的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2014-12-12
  • 通過AOP攔截Spring?Boot日志并將其存入數(shù)據(jù)庫功能實(shí)現(xiàn)

    通過AOP攔截Spring?Boot日志并將其存入數(shù)據(jù)庫功能實(shí)現(xiàn)

    本文介紹了如何使用Spring Boot和AOP技術(shù)實(shí)現(xiàn)攔截系統(tǒng)日志并保存到數(shù)據(jù)庫中的功能,包括配置數(shù)據(jù)庫連接、定義日志實(shí)體類、定義日志攔截器、使用AOP攔截日志并保存到數(shù)據(jù)庫中等步驟,感興趣的朋友一起看看吧
    2023-08-08
  • knife4j+springboot3.4異常無法正確展示文檔

    knife4j+springboot3.4異常無法正確展示文檔

    本文主要介紹了knife4j+springboot3.4異常無法正確展示文檔,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • Jmeter中的timeshift()函數(shù)獲取當(dāng)前時(shí)間進(jìn)行加減

    Jmeter中的timeshift()函數(shù)獲取當(dāng)前時(shí)間進(jìn)行加減

    這篇文章主要介紹了Jmeter中的timeshift()函數(shù)獲取當(dāng)前時(shí)間進(jìn)行加減,TimeShift(格式,日期,移位,語言環(huán)境,變量)可對(duì)日期進(jìn)行移位加減操作,本文給大家詳細(xì)講解,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • Java排序算法之計(jì)數(shù)排序解析

    Java排序算法之計(jì)數(shù)排序解析

    這篇文章主要介紹了Java排序算法之計(jì)數(shù)排序解析,找到數(shù)組中數(shù)值最大的元素,創(chuàng)建一個(gè)長度為最大元素+1的臨時(shí)數(shù)組,這樣就可以把原始數(shù)組轉(zhuǎn)換為以原始數(shù)組元素值為下標(biāo),相同元素個(gè)數(shù)為值的臨時(shí)數(shù)組,需要的朋友可以參考下
    2023-10-10
  • java構(gòu)建樹形結(jié)構(gòu)的方式及如何組裝樹狀結(jié)構(gòu)數(shù)據(jù)

    java構(gòu)建樹形結(jié)構(gòu)的方式及如何組裝樹狀結(jié)構(gòu)數(shù)據(jù)

    這篇文章主要介紹了在Java中構(gòu)建樹狀數(shù)據(jù)結(jié)構(gòu)的幾種常見方法,包括遞歸、使用Map/HashMap以及基于Stream流的方式,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-04-04
  • 一篇文章帶你了解java接口與繼承

    一篇文章帶你了解java接口與繼承

    這篇文章主要介紹了Java接口和繼承操作,結(jié)合具體實(shí)例形式分析了Java接口和繼承與使用的相關(guān)原理、操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2021-08-08

最新評(píng)論

武强县| 安阳市| 福州市| 岳普湖县| 象州县| 文水县| 门头沟区| 荔波县| 南昌市| 公主岭市| 鹤岗市| 天等县| 大冶市| 玛纳斯县| 收藏| 涟水县| 河间市| 土默特左旗| 正蓝旗| 河北省| 邓州市| 林西县| 沂水县| 武夷山市| 永清县| 陆川县| 建阳市| 六枝特区| 富宁县| 神木县| 英吉沙县| 怀来县| 治多县| 宜都市| 多伦县| 会泽县| 乳山市| 巴彦淖尔市| 刚察县| 唐河县| 乌鲁木齐县|