Apache Commons Configuration XML クラスを操作しようとしていますが、基本的な構成ライターが機能していると思います。ここで、XML 出力を正しくインデントする必要があります。
この他の投稿(dfa による回答)のソリューションを実装してみました。私が直面している問題は、XML データが改行で書き出されるため、1 行として prettyFormat クラスに渡されず、データがインデントされないことです。代わりに、以前と同じように書き出すだけです。
構成ファイルを作成するための私のコードは次のとおりです。
import java.io.StringWriter;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.XMLConfiguration;
public class Config {
public static void load () {
XMLConfiguration xmlConfig = new XMLConfiguration();
xmlConfig.setRootElementName("config");
xmlConfig.addProperty("vmware.ssh.username", "root");
xmlConfig.addProperty("vmware.ssh.password", "password");
StringWriter sw = new StringWriter();
// Save the XML data to StringWriter.
try {
xmlConfig.save(sw);
} catch (ConfigurationException ce) {
ce.printStackTrace();
}
String xmlOutput = XMLtransform.prettyFormat(sw.toString(), 2);
System.out.print(xmlOutput);
}
}
また、私の Java スキルはまだ初心者であることにも触れておかなければなりません。