Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como ler arquivo xml online?

Bom dia, estou pesquisando, porém, estou tendo dificuldade para conseguir ler um arquivo xml que está online.

Alguém saberia como fazer isso?

Tentei fazer a leitura usando este modelo que encontrei, coloquei até alguns logs para identificar o problema, e pelos logs vi que quando chega no 'xpp.setInput' ele não faz nada...

Log.i("info", "lendo getDados");
        try {
            Log.i("info", "lendo1");
            XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
            factory.setNamespaceAware(true);
            XmlPullParser xpp = factory.newPullParser();
            Log.i("info", "lendo2");

            URL url = new URL("http://animac.com.br/guil/receita.xml");

            //já tentei com url.openStream()
            xpp.setInput(url.openConnection().getInputStream(), null);
            Log.i("info", "lendo3");

            if(xpp != null) {
                int eventType = xpp.getEventType();
                String atual = null;
                while(eventType != XmlPullParser.END_DOCUMENT) {
                    if(eventType == XmlPullParser.START_TAG) {
                        atual = xpp.getName();
                    }
                    if(eventType == XmlPullParser.END_TAG) {
                        atual = "";
                    }
                    if(eventType == XmlPullParser.TEXT) {
                        if("titulo".equals(atual)) {
                            titulo = xpp.getText();
                            Log.i("info", titulo);
                        } else if("ingrediente".equals(atual)) {
                            ingrediente += xpp.getText() + '\n';
                            Log.i("info", ingrediente);
                        } else if("modoDeFazer".equals(atual)) {
                            modoFazer = xpp.getText();
                            Log.i("info", modoFazer);
                        }
                    }
                    Log.i("info", atual);
                    eventType = xpp.next();
                }
            }
        } catch(Exception e) {}    
        Log.i("info", "terminando getDados");

Agradeço desde já a ajuda.

2 respostas

Oi Guilherme,

Você já tentou fazer com XStream?

Abraços!

solução!

Não, não tentei não.

Mas agora nem preciso mais, finalmente consegui resolver o problema, rsrsrs.

Valeu pelo esforço.