синтаксический анализ не работает в Android

#android

#Android

Вопрос:

Я анализирую xml из URL.URL имеет номер мобильного IMEI и строку поиска, основанную на моем приложении. я поместил свой код синтаксического анализа xml в Android project, он не работает. но если я запускаю как отдельную Java-программу, она работает. пожалуйста, помогите мне.

 Log.e("rsport-", "function1");
 try{
  DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  factory.setIgnoringComments(true);
  factory.setCoalescing(true); // Convert CDATA to Text nodes
  factory.setNamespaceAware(false); // No namespaces: this is default
  factory.setValidating(false); // Don't validate DTD: also default
  DocumentBuilder parser = factory.newDocumentBuilder();
  Log.e("rsport-", "function2");
  Document document = parser.parse("http://demo.greatinnovus.com/restingspot/search?userid=xxxxxxxxxxxxxxxxamp;firstname=aamp;lastname=a");
  Log.e("rsport-","function3"); 
   NodeList sections = document.getElementsByTagName("Searchdata"); 
     int numSections = sections.getLength();
       for (int i = 0; i < numSections; i  ) 
     {
       Element section = (Element) sections.item(i); 
       if(section.hasChildNodes()==true){
           NodeList section1=section.getChildNodes();
              for(int j=0;j<section1.getLength();j  ){
                if(section1.item(j).hasChildNodes()==true) {
                    for(int k=0;k<section1.item(j).getChildNodes().getLength();k  )                     
                                 xmlvalue=String.valueOf(section1.item(j).getChildNodes().item(k).getNodeValue()).trim();

                                 arl.add(xmlvalue);
                  }
              }
          }
        }

     }
       } 
   catch(Exception e){}
        System.out.println("id" id "       searchdatacount" searchdatacount);
        System.out.println("---------");
        ListIterator<String> litr = arl.listIterator();
        while (litr.hasNext()) {
            String element = litr.next();
            Log.e("rsport-", "elememt");
        }
  

после Log.e("rsport-", "function2") ; не работает.

Комментарии:

1. Выдает ли он исключение? Каков logcat вывод?

2. скажите мне, какая ошибка у вас возникла в вашем Logcat и какой тег в вашем xml вы хотите проанализировать

3. это показывает, что исключение состоит в том, что для источника ввода требуется либо поток, либо считыватель logcat 04-25 19:01:22.443: ОШИБКА / rsport(2177): {chap=hjdasgdas} 04-25 19:01: 22.453: ОШИБКА / listview (2177): android.widget. ListView @ 43621388 04-25 19:01:22.563: ОШИБКА / rsport-(2177): function1 04-25 19:01:22.563: ОШИБКА / rsport-(2177): function2 04-25 19:01:22.583: ОШИБКА / rsport—(2177): источнику ввода требуется либо поток, либо считыватель

Ответ №1:

Обратитесь к моему блогу, я дал подробное объяснение, http://sankarganesh-info-exchange.blogspot.com/2011/04/parsing-data-from-internet-and-creating.html и убедитесь, что вы добавили разрешение доступа в Интернет в свой файл манифеста.

Если вы просматривали мой блог, то сможете заметить, что вы неправильно ввели следующую строку

  Document document = parser.parse("http://demo.greatinnovus.com/restingspot/search?userid=xxxxxxxxxxxxxxxxamp;firstname=aamp;lastname=a");
  

используйте следующим образом

 URL url =new URL("http://demo.greatinnovus.com/restingspot/search?userid=xxxxxxxxxxxxxxxxamp;firstname=aamp;lastname=a");
 Document document= parser.parse(new InputSource(url.openStream()));
  

Комментарии:

1. привет, сангар Ганеш, я получил следующее в Logcat: это показывает, что исключение состоит в том, что для источника ввода требуется либо поток, либо считыватель logcat 04-25 19: 01: 22.443: ОШИБКА / rsport (2177): {chap= hjdasgdas} 04-25 19: 01: 22.453: ОШИБКА / listview (2177): android.widget. ListView @ 43621388 04-25 19:01:22.563: ОШИБКА / rsport-(2177): function1 04-25 19:01:22.563: ОШИБКА / rsport-(2177): function2 04-25 19:01:22.583: ОШИБКА / rsport—(2177): источнику ввода требуется либо поток, либо считыватель