apache commons配置:为根元素设置xml命名空间

时间:2013-04-12 12:31:27

标签: java apache-commons-config

保存配置文件时,我需要为根元素指定xmlns(默认情况下为<configuration>)。原因是,我稍后在加载配置文件时验证(使用模式)。

我似乎无法找到commons-configuration如何公开这些功能。有任何想法吗?谢谢!

2 个答案:

答案 0 :(得分:3)

setRootNode(ConfigurationNode rootNode)可能有效。您可以在ConfigurationNode上设置属性(在本例中为xmlns)。

答案 1 :(得分:3)

@maba的建议有效。它并不漂亮,但似乎没有更优雅的方式来做到这一点。这是代码:

private void setNameSpace(XMLConfiguration conf) {
    HierarchicalConfiguration.Node root = new HierarchicalConfiguration.Node(
            "configuration");
    root.addAttribute(new HierarchicalConfiguration.Node("xmlns",
            "http://namespace.com"));
    conf.setRootNode(root);
}

相关进口商品是:

import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.HierarchicalConfiguration;
import org.apache.commons.configuration.XMLConfiguration;