保存配置文件時,我需要爲根元素指定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