Galera,
estou usando o SAX para fazer parsing de arquivos XML em uma aplicação minha. Entretanto, descobri que o buffer alocado para leitura do arquivo tem tamanho 2048, ou seja, se seu arquivo XML possuir mais que 2048 caracteres, ele será quebrado em vários pedaços de 2048 caracteres.
O problema que estou tendo com isso é o seguinte:
O ContentHandler possui um evento characters(char[] ch, int start, int length). Para pegar um valor entre abre/fecha tag(VALOR em teoria bastaria fazermos buffer = new StringBuffer(ch, start, length), que o buffer seria criado com o conteúdo “VALOR”.
Agora imaginem que em ch (de tamanho 204 tenha cabido até VAL e que o restante (OR só vai estar disponível no próximo buffer do parser.
O evento characters não vai me retornar o valor inteiro. Vai retornar somente a string “VAL” em buffer. Até aí tudo bem, mas na proxima chamada deste evento o SAX não me retorna o restante “OR” e eu não sei como resolver este problema. Se alguém puder me ajudar com isso vou ficar muito agradecido.
Um abraço à todos.
Rodrigo.