Lendo xml de uma Url

Olá.

Eu preciso ler um xml, que é retornado de um url, salvar esta informação em csv para assim depois salvar o meu arquivo em banco de dados.

Bom a parte de conectar com a url já está pronta e funcionando, retornando o xml. Usei informação aqui do fórum mesmo. Para ler arquivos xml gravados em disco, já achei muitos tutoriais ensinando como fazer.

O código que usei para conectar é o seguinte:

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





public class LerUrl {  

public static void sugaHTML(String urlSt) throws MalformedURLException, IOException {  


URL url = new URL(urlSt);  
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));  
String linha = "";  
while ((linha = reader.readLine()) != null)  
System.out.println(linha);  
reader.close();  
}  

public static void main(String[] args) throws MalformedURLException, IOException {  
sugaHTML("http://URL");  
}  
}  

Pra interpretar o XML eu geralmente uso o JAXP, já escrevi alguma coisa pra CSV usando o

http://supercsv.sourceforge.net/

mas faz um tempinho, já não lembro muita coisa. Sei que tem mais “uma” api pra interpretação de XML que briga com o JAXP, mas elas se focam em áreas diferentes em relação ao tamanho dos XMLs, no caso, se o teu XML não for enorme qualquer uma das duas serve.

Dá uma olhada no link e no Jaxp , acho que te ajuda.

Boa sorte!

Oba. Ajudou sim, por que aprendi como fazer ler o arquivo de tanto que eu li sobre reading xml. Mas, oq eu fiz no fim foi pegar a resposta armazenada no buffer e salvar numa string e pegar as informações que eu queria na string através de .indexOf e .substring. Só gostaria de saber se têm algum contra este tipo de método, logo que os arquivos xml são muito pequenos (menor que 2 kb), mas em grande quantidade (da ordem de milhões). Claro que faço um por vez. mesmo assim, necessito de algum comando para limpar buffer entre uma conexão e outra?