In-Line XML Editor

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

Internal

Overview

InLineXmlEditor is an API that can be used to modify XML files on disk directly from Java programs.

A typical usage pattern is the following:

File file = ...;
InLineXmlEditor editor = new InLineXmlEditor(file);

boolean changeOccurred = editor.set("/path/in/document", "value");

if (changeOccurred) {

    editor.save();
}
else {

  //
  // the value we're trying to set is identical with the value present in the file, react accordingly 
  //
  
}

The modification preserves the original format, nothing is modified except the value that is being changed.

The editor can be also used to read values:

File file = ...;
InLineXmlEditor editor = new InLineXmlEditor(file);

String value = editor.get("/path/in/document");

Thread Safety

As per novaordis-utilities 4.2.1, the implementation is NOT thread safe, the editor must be accessed and used from a single thread at a time.