// Cargar el documento XML existente
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(new File("ruta/al/archivo.xml"));
// Crear el nuevo elemento y sus nodos hijos
Element nuevoElemento = document.createElement("nuevoElemento");
Element subElemento = document.createElement("subElemento");
subElemento.setTextContent("Contenido del subelemento");
nuevoElemento.appendChild(subElemento);
// Obtener el elemento raíz del documento
Element raiz = document.getDocumentElement();
// Añadir el nuevo elemento al final
raiz.appendChild(nuevoElemento);
// Guardar el documento XML modificado
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult(new File("ruta/al/archivo.xml"));
transformer.transform(source, result);