最新国产好看的视频,伊人天堂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的方法就是小編分享給大家的全部?jī)?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ù)庫(kù)功能實(shí)現(xiàn)

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

    本文介紹了如何使用Spring Boot和AOP技術(shù)實(shí)現(xiàn)攔截系統(tǒng)日志并保存到數(shù)據(jù)庫(kù)中的功能,包括配置數(shù)據(jù)庫(kù)連接、定義日志實(shí)體類、定義日志攔截器、使用AOP攔截日志并保存到數(shù)據(jù)庫(kù)中等步驟,感興趣的朋友一起看看吧
    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(格式,日期,移位,語(yǔ)言環(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è)長(zhǎng)度為最大元素+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)論

寻乌县| 华蓥市| 汉中市| 潢川县| 开鲁县| 平昌县| 上杭县| 清水县| 拜城县| 绥德县| 汉中市| 平安县| 夏邑县| 随州市| 同心县| 克东县| 桂东县| 岳普湖县| 青海省| 万盛区| 汝阳县| 武陟县| 毕节市| 隆德县| 南召县| 大荔县| 昭觉县| 弥渡县| 屏边| 兴安盟| 铁岭市| 沈阳市| 金湖县| 海林市| 云龙县| 濉溪县| 孙吴县| 桓台县| 大埔区| 嘉荫县| 文登市|