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();*/
}
}