保存配置文件时,我需要为根元素指定xmlns(默认<configuration>
)。原因是,我稍后在加载配置文件时验证(使用模式)。apache commons配置:为根元素设置xml名称空间
我似乎无法找到commons-configuration如何公开此功能。有任何想法吗?谢谢!
保存配置文件时,我需要为根元素指定xmlns(默认<configuration>
)。原因是,我稍后在加载配置文件时验证(使用模式)。apache commons配置:为根元素设置xml名称空间
我似乎无法找到commons-configuration如何公开此功能。有任何想法吗?谢谢!
有一个setRootNode(ConfigurationNode rootNode)
可能工作。您可以在ConfigurationNode
上设置属性(在这种情况下为xmlns)。
@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;
有一个['setRootNode(ConfigurationNode根节点)'](http://commons.apache.org/proper/commons-配置/ apidocs/org/apache/commons /配置/ HierarchicalConfiguration.html#setRootNode(org.apache.commons.configuration.tree.ConfigurationNode))可能工作。您可以在['ConfigurationNode'](http://commons.apache.org/proper/commons-configuration/apidocs/org/apache/commons/configuration/tree/ConfigurationNode.html)上设置属性(在这种情况下为xmlns) )。 – maba
@maba发表回答这个效果? –
@maba是的,请随时这样做。我发布了一个备案,但我宁愿你得到信用 – Miquel