2013-06-02 22 views
7

Android'de XmlPullParser kullanıyorum ancak getText return null olsun. Bu neden oluyor?Xml getText döndürme null - Android

kodu yorumladı hat null

ArrayList<String> titleList = new ArrayList<String>(); 
    try { 
     XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); 
     factory.setNamespaceAware(true); 
     XmlPullParser xpp = factory.newPullParser(); 

     xpp.setInput(this.getInputStream(), null); 
     int eventType = xpp.getEventType(); 

     while (eventType != XmlPullParser.END_DOCUMENT) { 
      if (eventType == XmlPullParser.START_TAG) { 
       if (xpp.getName().equalsIgnoreCase(TITLE)) { 
//     MainActivity.itemsList.add(xpp.getText()); 
        Log.d("XGamers", "a"); 
       } 
      }`` 
      eventType = xpp.next(); 
     } 
    } catch (XmlPullParserException e) { 
     Log.e("XGamers", "XmlPullParserException in FeedParser"); 
    } catch (IOException e) { 
     Log.e("XGamers", "IOException in FeedParser"); 
    } 
+0

xpp.getName() öğesi null veriyor mu yoksa bu satır yürütüldüğünde bir NullPointerException var mı? – Ryan

+0

getText için satırı değiştiririm, önce yanlıştı .. Bir NullPointerException çalıştırıldığında – Clepto

cevap

8

verir bu deneyin:

if (xpp.getName().equalsIgnoreCase(TITLE)) { 
    if(xpp.next() == XmlPullParser.TEXT) { 
     MainActivity.itemsList.add(xpp.getText()); 
     Log.d("XGamers", "a"); 
    } 
} 

Ayrıca, itemsList başlatılır emin olun.

+1

Teşekkürler! İşe yaradı! – Clepto

+0

Aynı şeyi 5. satırda da görüyorum, http://pastebin.com/2F5CqxRK Neden? – Clepto

+0

Hangi bölümü null döndürüyor? getName() veya getText()? Ayrıca koşullu ifadelerinizde && kullanın. – Ryan