Xml getText 返回 null - Android

Posted

技术标签:

【中文标题】Xml getText 返回 null - Android【英文标题】:Xml getText return null - Android 【发布时间】:2013-05-28 16:25:03 【问题描述】:

我在 android 上使用 XmlPullParser,但 getText 返回 null。 为什么会这样?

代码,注释行给出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");
    

【问题讨论】:

执行该行时 xpp.getName() 是否给出 null 或 NullPointerException? 我把行改成getText,之前出错了..执行时出现NullPointerException 【参考方案1】:

试试这个:

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

另外,请确保您的 itemsList 已初始化。

【讨论】:

哪一部分返回null? getName() 还是 getText()?在条件语句中也使用 &&。 您可以改用xpp.nextText() 方法。为&lt;title&gt;text&lt;/title&gt; 点赞if (xpp.getName().equalsIgnoreCase(TITLE)) text = xpp.nextText();

以上是关于Xml getText 返回 null - Android的主要内容,如果未能解决你的问题,请参考以下文章

关于WM_GETTEXT的应用

isNull(NULL +" and"," on") 在 PHP MSSQL 中返回 "and"

mybatis xml 加一个and条件,报参数不匹配?

在 AND 内具有多个 OR 条件的 SQL 查询返回 null 或空

TextSnapShot 的 getText 属性返回空文本

解决selenium WebElement 里 getText()方法返回值为空的问题