Eae pessoal.
Acabei de desenvolver uma classe para editar XML mais facilmente, sem necessidade de marcações, anotações ou classes para representar tags. É necessário somente um documento XML, preenchido ou não. É possível fazer praticamente qualquer coisa com ela.
Preciso que vocês procurem bugs 
Link:
http://portfoliodocascosta.blogspot.com.br/2017/06/classe-para-manipular-xml.html
Exemplos:
Observação: tanto atributos como conteúdos entre tags (conteúdo) são considerados campos. Os métodos que recebem a posição do campo alvo não diferenciam um do outro, sendo o conteúdo entre tags os últimos campos de suas respectivas tags.
//Insere o conteúdo literal (sem escapar caracteres especiais) da String no corpo (corpo) da 3ª tag aluno, sem retirar o conteúdo presente anteriormente
xmle.insertXML(“aluno”, 3, String);
//Extrai todo o conteúdo do corpo da 10ª tag aluno, deletando-o do XML
xmle.extractXML(“aluno”, 10, true);
//Extrai todo o conteúdo do corpo da 10ª tag aluno, sem deleta-lo do XML
xmle.extractXML(“aluno”, 10, false);
//Insere o conteúdo da String no 1º campo da 3ª tag dtNascimento, de forma literal
xmle.insert(“dtNascimento”, 3, 1, String, true);
//Insere o conteúdo da String no 1º campo da 3ª tag dtNascimento, escapando os caracteres especiais
xmle.insert(“dtNascimento”, 3, 1, String, false);
//Insere o conteúdo da String no 2º campo de todas as tags aluno
xmle.multInsert(“aluno”, 2, String, false);
//Insere o conteúdo da String[] no 2º campo de todas as tags aluno, consecutivamente ao índice do vetor.
xmle.multInsert(“aluno”, 2, String[], false);
//Extrai o 3º campo da 3ª tag aluno (sem retirá-lo do XML)
xmle.extract(“aluno”, 3, 3);
//Extrai os primeiros campos de todas as tags nome (sem retirá-los do XML), retornando um vetor String
xmle.multExtract(“nome”, 1);