Bom dia a todos.
Estou fazendo uma aplicação JSP que precisa ler, a partir de uma URL que retorna XML, os dados desse retorno e formatá-lo na tela. Iniciei utilizando DOM e agora estou tentando com SAX, porém, em ambos os casos, na hora do parse, dá o seguinte erro: The processing instruction target matching "[xX][mM][lL]" is not allowed. Já fiz uma pesquisa na internet e verifiquei que o problema provavelmente acontece pelo XML não ter um formato correto ou estar com caracteres inválidos, por isso, formatei o XML em um editor e consegui fazer funcionar, porém, isso foi feito "na mão", o que não posso fazer através da aplicação. A minha dúvida é se existe um meio de tratar o valor recebido pela URL antes de fazer o parse? Abaixo explico com o código:
SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
InputSource entrada = new InputSource(URL);
parser.parse(entrada,new XMLHandler()); ==> ERRO AQUI
XML: (Os colchetes servem somente para delimitar o problema)
[<?xml version=“1.0” encoding=“utf-8” ?><string xmlns=“https://portal.e-fornecedores.ind.br/WebEdi/”>]<?xml version=“1.0” encoding=“iso-8859-1”?><TAG>…</TAG>[</string>]
Em resumo, no XML acima, para que funcione, teria que retirar a parte marcada entre [].
Já tentei fazer isso utilizando a classe IO, porém, consegui abrir o retorno para alteração, mas todas as tags foram retiradas automaticamente.
Fico muito grato a quem puder dar uma luz.
Obrigado.
Carlos.