XMLファイルを読み取り(存在する場合はファイルを作成します)、いくつかのタグを変更してxmlを書き戻す必要があります。私はこれをやっています
InputStream in = new FileInputStream(userFile);
SAXReader reader = new SAXReader();
Document document = reader.read(in);
Element root = document.getRootElement();
...
と書き戻す
FileUtils.writeByteArrayToFile(userFile, getFormatedXML(document).getBytes());
...
private String getFormatedXML(Document doc) {
try {
String encoding = doc.getXMLEncoding();
if (encoding == null)
encoding = "UTF-8";
Writer osw = new StringWriter();
OutputFormat opf = new OutputFormat(" ", true, encoding);
XMLWriter writer = new XMLWriter(osw, opf);
writer.write(doc);
writer.close();
return osw.toString();
} catch (IOException e) {
}
return "ERROR";
}
問題は、書き戻すたびに1つの追加の改行が作成されることです。outputFormatの引数をtrueからfalseに切り替えると、改行はまったく書き込まれません。
この問題を回避する簡単な方法はありますか?
どうもありがとうハウケ