2012-04-16 80 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);