terça-feira, 13 de junho de 2017

Classe para manipular XML

Classe para manipular facilmente documentos XML

Não precisa de anotações nem classes para representar tags, somente do documento XML, preenchido ou não (os atributos, se vazios, devem estar com ="" ou ='');
Dá pra fazer praticamente tudo com ela;
A classe salva os XMLs editados numa pasta designada nomeando-os de acordo com a data e horário e cria um arquivo .txt contendo uma lista dos nomes dos arquivos XML salvos;
Atenção! A classe só consegue ler arquivos de texto simples em formatação UTF-8.

BAIXAR

Exemplos:

Observação: tanto atributos como conteúdos entre tags (<a>conteúdo</a>) 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 (<a>corpo</a>) 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);