Problemas ao ler xml de uma url web

2 respostas
K

Boa tarde caros amigos do GUJ, a forma mais simples de ler um arquivo xml que é retornado em uma url, estou seguindo-a mas acontece um erro muito estranho.
Simplesmente após imprimir a primeira linha do BufferedReader, ele interrompe a leitura fechando a stream, provavelmente o método readLine() retorna Null, mas não entendo porque.
Pensei que pode ter algum problema com a codificação do arquivo retornado, iso9001, mas como ja testei, ele lê a primeira linha e aborta, seria um caso então que ele identificaria
a codifição do arquivo, existente na primeira linha do mesmo, e aborta a leitura. Mas talvez nem seja isso, enfim, alguém poderia me auxiliar?
Vou usar a API XStream para converter o xml num objeto que representa os dados contidos no xml. Ja procurei no XStream e não ví nenhum código que leria o arquivo de uma url.

package br.com.ufu.prograd.siprot.services;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;

import javax.xml.stream.XMLStreamException;

public class Teste{
	
	public static void main(String[] args){
		URL url = null;
		try {
			url = new URL("http://10.2.1.128/api/siprot/aluno.php?login=siprot&ip=10.2.0.7&matricula=1041116");
		} catch (MalformedURLException e) {
			e.printStackTrace();
		}    
		BufferedReader reader = null;
		try {
			reader = new BufferedReader(new InputStreamReader(url.openStream()));
		} catch (IOException e1) {
			e1.printStackTrace();
		}    
		String xml = "";
		try {
			for(String linha = "";(linha = reader.readLine()) != null;xml+=linha)   { 
				reader.close();    
			}
		} catch (IOException e) {
			e.printStackTrace();
		}    
	    /*XStream xstream = new XStream();*/

	}
}


2 Respostas

nandobgi

Você esta fechando seu reader dentro do laço de repetição, da uma olhada.

Abraço

K

Muito obrigado parceiro… era isso… phoda copiar da net, acabei ficando cego para enxergar essa besteira… abraço e obrigado pela atenção… como coloco flag aqui no tópico pra dizer que foi respondido?

Criado 12 de setembro de 2011
Ultima resposta 12 de set. de 2011
Respostas 2
Participantes 2