Encoding do XML

Boa tarde,

Estou com um problema com o encoding do XML.
Meu XML possui no topo o seguinte código:

<?xml version="1.0" encoding="ISO-8859-1" ?> 

Um dos ítens do meu arquivo é o seguinte:

<descricaosubacao>Construir unidade de Educação Infantil - projeto do Proinfância.</descricaosubacao> 

Notem que a acentuação está correta, mas quando vou fazer a leitura do mesmo ele está trocando estes acentos por caracteres especiais. O processo para executar a leitura que estou utilizando é o seguinte:

[code]Socket clientSocket;

BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));[/code]

[code]DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();

    Document document = builder.parse( new InputSource(xml) );
        
    XPath xpath = XPathFactory.newInstance().newXPath();

    entidadeDTO = getEntidadeDTO(xpath, document );  

[/code]

Para ler o campo citado acima faço da seguinte forma:

String descricao = getValue(xpath,"/pta/entidade/projetos/projeto["+(indiceProjeto)+"]/acoes/acao["+indiceAcao+"]/especificacoes/especificacao["+(i+1)+"]/descricaosubacao", document, XPathConstants.STRING);

Alguém sabe me dizer pq ele está trocando os caracteres mesmo o XML estando com o encoding correto?

Abraço

Os caracteres especiais são tratados de maneira diferente. Dê uma verificada neste documento ele me ajudou a resolver alguns problemas.

http://caixamagica.org/LDP-PT/sgmltools-guide/sgmltools-guide-3.html

Boa tarde,

Consegui resolver o problema da seguinte forma:

BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream(), harset.forName("ISO-8859-1")));

Obrigado pela ajuda