snonca
Dezembro 15, 2008, 9:43am
#1
Galera to com um problema, como eu coloca essa parte do codigo em inputStream, ta comentado alguem pode tirar essa duvida.
[code]public class LeitorXMLTeste {
/**
* @param args
*/
public static void main(String[] args) {
SAXParser parser=null;
try {
parser= SAXParserFactory.newInstance().newSAXParser();
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
}
File file=new File("D:\\workspace\\Teste\\src\\produto.xml");
if(parser!=null){
InputSource input=new InputSource(file.getAbsolutePath());//aqui vc pode passar o seu inputStream como parametro
try {
LeitorXML leitor= new LeitorXML();
parser.parse(input,new JColtraneXMLHandler(leitor));
Produto p=leitor.getProduto();
System.out.println("nome: "+p.getNome());
System.out.println("preço: "+p.getPreco());
System.out.println("descricao: "+p.getDescricao());
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
} [/code]
snonca
Dezembro 15, 2008, 10:14am
#2
Galera eu queria modificar esse codigo de enver dele ler o xml, de um arquivo que esta na minha maquina ele possa ler o xml de vem de uma url ? alquem poderia me ajudar. ?
cara se o xml estiver no mesmo path que sua classe vc pode fazer o seguinte:
InputSource input=new InputSource(LeitorXMLTeste.class.getResourceAsStream("produto.xml"));
snonca
Dezembro 15, 2008, 3:57pm
#5
Bom ela esta numa url, tenho que passar essa url como parametro em vez do arquivo em si.
vc pode usar o httpclient da apache fazer down do arquivo e fazer um bufferreader ou aldo similar.
código para pegar um arquivo via http e fazer o input dele…
vc pode jogar o InputStreamReader direto no teu InputSource sem problemas.
[code]private InputStreamReader getList(String url) {
HttpClient client = new HttpClient();
HttpMethod method = new GetMethod(url);
int statusCode = 0;
try {
statusCode = client.executeMethod(method);
if (statusCode == 200) {
return new InputStreamReader(method.getResponseBodyAsStream());
} else {
System.err.println("URL: " + url);
System.err.println("statusCode: " + statusCode);
}
} catch (Exception e) {
System.err.println("Erro: " + e.getMessage());
System.err.println("URL: " + url);
System.err.println("statusCode: " + statusCode);
}
method.releaseConnection();
return null;
}[/code]
POW EU REESCREVI ESSE CODIGO DA MESMA FORMA PARA VER SE CONSEGUIA TER ALGU EM MÃO
MAS DEU UNS ERROS…
CLARO MESMO DEPOIS DE IMPORTANDO A BIBLIOTECAS DESEJADAS…
ALGUEM PODE ME AJUDAR NESSA PARTE
view plaincopy to clipboardprint?
public class LeitorXMLTeste {
/**
* @param args
*/
public static void main(String[] args) {
SAXParser parser=null;
try {
parser= SAXParserFactory.newInstance().newSAXParser();
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
}
File file=new File("D:\\workspace\\Teste\\src\\produto.xml");
if(parser!=null){
InputSource input=new InputSource(file.getAbsolutePath());//aqui vc pode passar o seu inputStream como parametro
try {
LeitorXML leitor= new LeitorXML();
parser.parse(input,new JColtraneXMLHandler(leitor));
Produto p=leitor.getProduto();
System.out.println("nome: "+p.getNome());
System.out.println("preço: "+p.getPreco());
System.out.println("descricao: "+p.getDescricao());
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}