簡體   English   中英

Android 4.0冰淇淋三明治Dom Parser空指針

[英]Android 4.0 ice cream sandwich Dom Parser Null Pointer

到目前為止,我一直在使用此代碼來解析xml。 在以前的android版本(直到2.3.3)中,它的工作正常。


NodeList list = element.getElementsByTagName("course");         

Element entry;                              
Element title;

if(list != null && list.getLength() > 0){


     for(int i=0;i < list.getLength(); i++){

        entry = (Element)list.item(i);                              
        title = (Element)entry.getElementsByTagName("course").item(0);  

        biz_name_p = title.getAttribute("biz_name");

    }
}

我有多個名稱為“ course”的標簽,因此我將其包含在列表中。 內部循環im檢查元素路線並從中提取幾個字符串值。

當我嘗試獲取getAttribute("biz_name")或任何其他屬性時,它將引發NullPointerException

直到ICS為止,此版本在以前的版本中都運行良好。

當我用列表中的主標記替換“ course”(在整個xml中僅重復一次)時,我收到的字符串值只有一次……它們在Dom解析器中是否更改了任何內容?

編輯
以下是試圖即時解析的xml。

<golf> 
    <course biz_name="Club Circle Golf Course"/>  
    <course biz_name="Club Circle Golf Course1"/>
    <course biz_name="Club Circle Golf Course2"/>
</golf>

我不明白為什么getElementsByTagName被多次調用。 因此,您可以嘗試以下方法:

NodeList list = element.getElementsByTagName("course");         

Element entry;

if(list != null && list.getLength() > 0){

     for(int i=0;i < list.getLength(); i++){

        entry = (Element)list.item(i);
        biz_name_p = entry.getAttribute("biz_name");
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM