【问题标题】:Does XMLConfiguration in Apache common support CDATA?Apache common 中的 XMLConfiguration 是否支持 CDATA?
【发布时间】:2012-04-16 08:59:25
【问题描述】:

我正在使用配置 1.6。

我有一个xml文件,比如

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

我希望将“select a, b from c”作为一个完整的字符串,但我将“select a”和“b from c”作为列表。

你可能会建议我用逗号加入字符串,但我项目中的其他地方取决于这个属性。

【问题讨论】:

    标签: java apache cdata xml-configuration


    【解决方案1】:

    像这样更改 PropertiesConfiguration 对象的属性:

    AbstractConfiguration.setListDelimiter(0);
    

    将分隔符设置为 0 将完全禁用值拆分。

    应该可以的。

    【讨论】:

    • 这是什么意思?如果我删除 CDATA 标志,我仍然会得到 List 的值
    • 不。它不应该。您正在尝试获取属性的值。如果没有明确提及,它不会用逗号或空格分隔。
    • 我不这么认为。我认为无论您是否将值放入 CDATA 中,配置都会为您提供 List
    • 我们会知道我们是否执行正确。您能尝试一下并发表您的回复吗?
    • 我明白你在说什么。请查找修改以进行修改。
    【解决方案2】:

    使用 commons 配置 1.9 建议使用:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-16
      • 2016-09-12
      • 2015-10-16
      • 2015-05-10
      • 2020-01-27
      • 1970-01-01
      相关资源
      最近更新 更多