Using ranges in DOM tree
import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.ranges.DocumentRange; import org.w3c.dom.ranges.Range; public class Main { public static void main(String[] argv) throws Exception { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder loader = factory.newDocumentBuilder(); Document document = loader.parse("sample.xml"); Element order = document.getDocumentElement(); DocumentRange ranges = (DocumentRange) document; Range range = ranges.createRange(); range.setStartBefore(order.getFirstChild()); range.setEndAfter(order.getLastChild()); range.deleteContents(); range.detach(); } }