構成ファイルを保存するとき、ルート要素の xmlns を指定する必要があります (デフォルトで<configuration>
)。その理由は、後で構成ファイルをロードするときに (スキーマを使用して) 検証するためです。
commons-configuration がこの機能を公開する方法を見つけることができないようです。何か案は?ありがとう!
構成ファイルを保存するとき、ルート要素の xmlns を指定する必要があります (デフォルトで<configuration>
)。その理由は、後で構成ファイルをロードするときに (スキーマを使用して) 検証するためです。
commons-configuration がこの機能を公開する方法を見つけることができないようです。何か案は?ありがとう!
@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 rootNode)
ます。に属性 (この場合は xmlns) を設定できますConfigurationNode
。