JDom 2.0.5 を使用して xml を変更しています。また、正しく変更されたかどうかを確認する Junit テスト ケースもあります。これには、入力 xml、テスト用のメソッド (変換 xml)、および新しい xml (結果) があります。後で、出力を最終結果となるファイルと比較します。
FileUtils.contentEquals(newXml, modelXml);
しかし、すべての終了タグは JDom によって自動的に変更されるため、これは常に false です。変更できない要件であるため、モデルを変更できません。
Input: <properties/>
Output: <properties /> --> should be as input:: <properties/>
JDom がこのタグを変更しないようにするにはどうすればよいでしょうか?
SAXBuilder builder = new SAXBuilder();
Document doc = (Document) builder.build(xmlFile);
// Add, remove some elements ...
XMLOutputter xmlOutput = new XMLOutputter();
xmlOutput.setFormat(Format.getPrettyFormat());
xmlOutput.output(doc, new FileWriter(newXml, false));