Nova classe para editar XML

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 :slight_smile:

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);

1 curtida

Interessante. Seria legal você colocar no GitHub, especificar uma licença e adicionar alguns testes (como desempenho com arquivos grandes e com muitos níveis).

Ele carrega o arquivo inteiro (como o DOM) antes de permitir a navegação ou lê por partes (como o SAX)?

Abraço.

1 curtida

A minha classe carrega o arquivo inteiro. Senão não seria possível editar XML livremente, podendo apenas ler/gravar em sequência.