[英]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.