Existe alguma forma de converter para String o conteúdo de uma tag XML, antes de realizar o parse ?
O meu problema é o seguinte…
Estou recebendo dinamicamente um XML que contém o caractere “&” e quando eu faço o tratamento do XML, é lançada uma Exception em tempo de execução, pois o interpretador “não reconhece” o “&” como um caractere válido.
Se eu substituir o “&” por “&” dá certo, mas o problema é que eu não consigo manipular o xml, pois eu recebo ele dinamicamente.
Alguém já passou por isso e sabe como me ajudar ?
Obrigado !
EDIT - infelizmente você tem de escrever & como “&” (mesmo desabilitando HTML nesta mensagem, o código do JForum ainda interpreta certos escapes HTML).
Pra começar, esse XML é inválido, porque um “&” não pode ficar “sozinho”.
O correto seria reclamar com quem gera esse XML errado, que ele é que tem de converter “&” em “&” ou então, em vez de gerar o XML na unha, que é o que provavelmente o cara está fazendo, usar qualquer coisa que gere um XML válido.
Se você não puder fazer isso (sabe como é que é - uma coisa é pedir, outra coisa é ser atendido ), você poderia encapsular a InputStream que contém esse XML recebida em outra InputStream que faça essa adaptação de um XML inválido para um XML válido (contendo os “&” nos lugares corretos. Veja a declaração de FilterInputStream para ver o que você deve fazer para criar uma InputStream que possa fazer essa adaptação.