Ajuda com xml J2ME[Resolvido]

0 respostas
A

Ola galera, apesar de ser iniciante em java e j2me, estou postando no “Java Avançado” por se tratar de manipulação de arquivo e etc, descupe se postei em lugar errado.
Estou fazendo uma aplicação para ler uma imagem em xml e reconverter essa imagem na tela do celular.
Estou indo por partes, primeiro aprendendo como ler um xml no j2me.
Porém estou com um problema.
Ele não esta lendo o xml pelo o que parece, pois quanod fui depurar, ele chega até a parte de fazer o parse no xml e cai no catch, vou postar o código para que me ajudem:

import org.kxml2.io.KXmlParser;      
        import org.xmlpull.v1.XmlPullParser;      
              
        import org.xmlpull.v1.XmlPullParserException;     
            
            
        public class AplicacaoDesdeoIncio extends MIDlet    
        {    
            Form form = new Form("Pessoas");      
                
            public void startApp()  throws MIDletStateChangeException    
            {    
                    
                String xml = "<?xml version="+"\"1.0\""    
                + " encoding="+"\"UTF-8\""+"?>"    
                + "<agenda>"    
                + "<pessoa><nome>Arthur Oliveira</nome><fone>            ([telefone removido]      </fone></pessoa>"    
                + "</agenda>";    
                System.out.print(xml+"\n");    
            
                InputStream in = getClass().getResourceAsStream(xml);      
                          
                    try {      
                          Display.getDisplay(this).setCurrent(form);      
                          parser(in);      
                    } catch (Exception e) {      
                          e.printStackTrace();    
                           
                              
                    }      
              }      
              private void parser(InputStream in) throws Exception {      
              
                    //Inicia o XMLParser      
              
                    KXmlParser parser = new KXmlParser();      
                     
                    parser.setInput(new InputStreamReader(in));      
                    parser.nextTag();      
              
                    //Posiciona na tag <agenda>      
                    parser.require(XmlPullParser.START_TAG, null, "agenda");      
              
                    //Enquanto é diferente de END_TAG      
                  while (parser.nextTag () != XmlPullParser.END_TAG)      
              
                  {      
              
                       //Posiciona na tag <pessoa>      
                       parser.require(XmlPullParser.START_TAG, null, "pessoa");      
                       parserPessoa(parser);      
                       form.append("\n");      
                    parser.require(XmlPullParser.END_TAG, null, "pessoa");      
                  }      
                  parser.require(XmlPullParser.END_TAG, null, "agenda");      
                  parser.next();      
                  parser.require(XmlPullParser.END_DOCUMENT, null, null);      
              
              }      
                    
              private void parserPessoa(KXmlParser parser) throws Exception {      
              
                    //Enquanto é diferente de </pessoa>      
              
                    while (parser.nextTag() != XmlPullParser.END_TAG) {      
                          //Posiciona em uma tag "START". Ex: <nome> ou <fone>      
                          parser.require(XmlPullParser.START_TAG, null, null);      
                          String name = parser.getName();      
              
                          String text = parser.nextText();      
              
                          System.out.println("Tag: " + name + " -> " + text);      
                           //Adiciona o texto no Form      
                          form.append(text);      
                          //Posiciona no fim da tag </nome> ou </fone>      
                          parser.require(XmlPullParser.END_TAG, null, name);      
                    }      
                        
            }    
            public void pauseApp()    
            {    
                    
            }    
            public void destroyApp(boolean uncoditional)    
            {    
                System.out.println("finalizou");    
            }

nessa aplicação eu ja testei com o xml na pasta da aplicação e nao rodou, por isso criei uma string com o xml para ver se ele conseguia ler.
Quando depurei, a aplicação vem até a linha
parser.setInput(new InputStreamReader(in));
e sobe para o catch:

InputStream in = getClass().getResourceAsStream(xml);      
                          
                    try {      
                          Display.getDisplay(this).setCurrent(form);      
                          parser(in);      
                    } catch (Exception e) {      
                          e.printStackTrace();    
                           
                              
                    }      
              }      
              private void parser(InputStream in) throws Exception {      
              
                    //Inicia o XMLParser      
              
                    KXmlParser parser = new KXmlParser();      
                     
      
                    parser.setInput(new InputStreamReader(in));

Estou usando o netbeans 7, kxml 2.2 para o parse.
Agradeço desde ja galera (:

Té+

Criado 10 de maio de 2011
Respostas 0
Participantes 1