1. 程式人生 > >Java Dom4j解析xml常見問題,Java Dom4j設定Xml encoding編碼

Java Dom4j解析xml常見問題,Java Dom4j設定Xml encoding編碼

Java Dom4j解析xml常見問題

Java Dom4j設定Xml encoding編碼

Java Dom4j Element屬性為Null時不顯示

Java Dom4j Element標籤非對稱結束,Java Dom4j Element以“/”結束

 

================================

©Copyright 蕃薯耀 2019年1月11日

http://fanshuyao.iteye.com/

 

一、Java Dom4j設定Xml encoding編碼

Document document = DocumentHelper.createDocument();
document.setXMLEncoding("GB2312");
……
……
String xml = document.asXML();

 輸出結果:

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

 

二、Java Dom4j Element屬性為Null時不顯示

<column name="proj_location"/>
<column name="proj_location" value=""/>

 如上面所示:

都給columnElement設定了value的屬性

columnElement.addAttribute("value", value);

 但第一個的value屬性沒有顯示,第二個顯示。

這是因為當屬性的值為Null時,屬性值不顯示,設定成空字串("")則能顯示出來。

 

示例程式碼:

Element columnElement = rootElement.addElement("column");
if(value == null){
    value = "";//如果Attribute設定的屬性的值為Null,預設是不顯示該屬性的,想要顯示,當為Null時設定為空字串顯示該屬性。
}
columnElement.addAttribute("value", value);

 

三、Java Dom4j Element標籤非對稱結束,Java Dom4j Element以“/”結束

<column name="proj_location" value=""/>
<column name="proj_location" value=""></column>

 如上面所示:

第一個以“/”結束:<a/>,當columnElement沒有設定text值時或者Text值為Null時,以“/”結束,不對稱

第二個是對稱:<a></a>,當設定了text的值且不為Null時,Dom4j輸出元素標籤時是對稱的。

Java Dom4j設定空字串後元素標籤對稱輸出示例程式碼:

Element columnElement = rootElement.addElement("column");
columnElement.setText("");//如果Element不設定Text或者Text值為Null時,生成的xml元素節點只是單個標籤<a/>;設定空字串或者有值,則是<a></a>

 

 

 

================================

©Copyright 蕃薯耀 2019年1月11日

http://fanshuyao.iteye.com/