代码之家  ›  专栏  ›  技术社区  ›  Miquel

apachecommons配置:为根元素设置一个xml命名空间

  •  3
  • Miquel  · 技术社区  · 13 年前

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

    我似乎找不到commons配置是如何公开这些功能的。有什么想法吗?谢谢

    2 回复  |  直到 13 年前
        1
  •  3
  •   maba Martin    13 年前

    有一个 setRootNode(ConfigurationNode rootNode) 这可能会奏效。您可以在 ConfigurationNode .

        2
  •  3
  •   Miquel    13 年前

    @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;