使用apache.commons.configuration.tree.ConfigurationNode.getValue()在标记值中包含“,”时未获取整个标记值

时间:2015-12-17 07:51:19

标签: java xml xml-parsing apache-commons-config

我正在尝试使用Apache commons配置读取xml

这是我的示例xml文件

<tu tuid="chan@">
        <note>Label for iCare OLTP administration.</note>
        <prop type="maxlength">75</prop><prop type="minlength">1</prop>
        <tuv lang="ES-ES">
               <seg>Programa, tarjetas, cupones y reglas</seg>
        </tuv>
</tu>

这是我的java代码:

 List<ConfigurationNode> tuvNode = element.getChildren("tuv");
 List<ConfigurationNode> segNode = tuvNode.get(0).getChildren("seg");                  

 System.out.println(segNode.get(0).getValue());

out put是:

Programa

实际上它正在工作。问题是当它有“,”然后它没有给出其他值。我需要整个价值。任何人都可以给出想法。 我的预期结果是:

Programa, tarjetas, cupones y reglas

我真的很感激

感谢

2 个答案:

答案 0 :(得分:1)

&#39;,&#39;被解释为值分隔符。

试试这个:

setDelimiterParsingDisabled(true); //  to disable parsing list of properties.

这里有更多细节: apache commons configuration loads property until "," character

答案 1 :(得分:0)

@ guillaume girod-vitouchkina感谢你的想法

我们设定了这样的价值 初始化没有参数的配置对象

config = new XMLConfiguration();

然后禁用分隔符

config.setDelimiterParsingDisabled(true);

之后给出xml文件名

config.load(filename);

之后的其余代码

有用的链接doc