2012-04-16 83 views
1

我正在使用配置1.6。Apache中的XMLConfiguration是否支持CDATA?

我哈瓦一個XML文件,像

<property> 
    <name>sql</name> 
    <value><![CDATA[select a, b from c]]></value> 
</property> 

我希望得到 「從C選擇A,B」 整個字符串,但我得到 「選擇」 和 「B從C」 作爲名單代替。

您可能會建議我使用逗號加入字符串,但我的項目中的其他位置取決於此屬性。

回答

0

變化PropertiesConfiguration物體的像這樣的屬性:

AbstractConfiguration.setListDelimiter(0); 

分隔符設置爲0將完全禁用價值分裂。

這應該工作。

+0

這是什麼意思?如果我刪除CDATA標誌,我仍然會得到列表 qiuxiafei 2012-04-16 09:13:39

+0

不可以。它不應該。您正試圖獲取財產的價值。沒有明確提及,它不會給你以逗號或空格分隔。 – Phani 2012-04-16 09:15:19

+0

我不這麼認爲。無論您將值設置爲CDATA還是NOT,我都認爲配置會爲您提供列表。 – qiuxiafei 2012-04-16 09:21:50

0

使用公共資源配置1.9則建議使用:

config = new XMLConfiguration(); 
    config.setListDelimiter((char) 0); 
    config.setDelimiterParsingDisabled(true); 
    config.setAttributeSplittingDisabled(true); 
    config.load(resource);