在dom4j中實現xml檔案輸出格式的設定

2021-06-18 22:57:15 字數 1613 閱讀 5431

比如說我們要輸出xml檔案中的內容為:

<?xml version="1.0" encoding="gb2312"?>

james strachan

中國 bob mcwhirter

大家會注意到author中的內容包括很多的空格。

不妨假設我們已經用以下的方法實現了對上面document的寫入:

public document createdocument()

dom4j中把document直接或者任意的node寫入xml檔案時有兩種方式:

1、這也是最簡單的方法:直接通過write方法輸出,如下:

filewriter fw = new filewriter("test.xml");

document.write(fw);

此時輸出的xml檔案中為預設的utf-8編碼,沒有格式,空格也沒有去除,實際上就是乙個字串;其輸出如下(此種方式可能會產生編碼問題):

<?xml version="1.0" encoding="utf-8"?>

james strachan

中國 bob mcwhirter

2、用xmlwriter類中的write方法,此時可以自行設定輸出格式,比如緊湊型、縮減型:

outputformat format = outputformat.createprettyprint();//縮減型格式

//outputformat format = outputformat.createcompactformat();//緊湊型格式

format.setencoding("gb2312");//設定編碼

設定text中是否要刪除其中多餘的空格

xmlwriter xw=new xmlwriter(fw,format);

xw.write(dom.createdocument());

outputformat format=outputformat.createprettyprint();

"");

" ");//設定每行前的空格數

保留多餘空格

xmlwriter output=new xmlwriter(new fileoutputstream(new file("stu.xml")),format);

output.write(doc);

output.close();

此時輸出的xml檔案中為gb2312編碼,縮減型格式,但是多餘的空格已經被清除:

<?xml version="1.0" encoding="gb2312"?>

james strachan

中國 bob mcwhirter

如果想要對xml檔案的輸出格式進行設定,就必須用xmlwriter類,但是我們又需要保留其中的空格,此時我們就需要對format進行設定,也就是加上一句format.settrimtext(false);

這樣就可以既保持xml檔案的輸出格式,也可以保留其中的空格,此時的輸出為:

<?xml version="1.0" encoding="gb2312"?>

james strachan

中國 bob mcwhirter

ps:element中attribute中的值如果有空格的話在任何情況下是都不會去除空格的;

dom4j 使用dom4j生成xml

使用org.dom4j.element 建立xml 生成service.xml檔案 param tran 交易物件 param filepath 資料夾路徑 public static void exportservicexml listtranlist,string filepath servic...

xml檔案解析 DOM4J

讀取並解析xml文件 讀寫xml文件主要依賴於org.dom4j.io包,其中 提供domreader 和saxreader 兩類不同方式,而呼叫方式是一樣的。這就是依靠介面的好處。從檔案讀取 xml,輸入檔名,返回 xml文件 publicdocument read string filename...

dom4j解析xml檔案

一 利用dom4j建立乙個內容如下的xml檔案sqlmapconfig.xml 步驟 1.建立乙個輸出流,指定建立的sqlmapconfig.xml檔案的位置 outputstream outputstream os new fileoutputstream d sqlmapconfig.xml 2...