Estou com um problema, tenho um xml que deverá receber dados de um arquivo TXT e gerar uma saída formatada em csv. Gostaria de saber se a melhor maneira seria com JDOM e como ficaria neste caso.
Depende o caso, em geral o DOM é utilizado para leitura de xmls menores, pois o xml é carregado (em formato árvore) em memória. Já o SAX é um pouco mais complicado, pois seu processamento é orientado a eventos, entretando consome menos memória, porque não armazena o xml em memória (apenas vai lendo o arquivo xml e chamando o evento).
Se o seu caso se encaixa no primeiro, pode ser mais fácil, entretanto, pela descrição do teu problema, eu utilizaria o SAX.
Material é o que mais tem sobre esse assunto. Pesquise por SAX e JDOM no google que tu acha fácil.
eu tenho que lançar no XML o a entrada não formatada: 2007-11-01;10.01;[telefone removido]
para que o do meu xml me retorne ele formatado…
Como são vários registros não formatados, dentro de uma estrutura de repetição eu teria que informar que a parte do registro até o caractere ‘;’ deverá ser inserida no do elemento Data e continuar varrendo a estrutura a partir deste ‘;’ até o proximo, e assim por diante até o final de cada linha do arquivo.
Você pode usar o seguinte método: String[] vetor = entrada.split(";");
isso irá criar um vetor de string em com todos os conteúdos da sua string entre os “;”
ou seja, o retorno seria:
o valor de vetor[0] seria “2007-11-01”
o valor de vetor[1] seria “10.01”
o valor de vetor[2] seria “1234567891234567890123456789”