Android 4.0 сэндвич с мороженым Dom Parser Null Pointer - PullRequest
1 голос
/ 09 ноября 2011

Я использовал этот код для анализа 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");

    }
}

У меня есть несколько тегов с именем «курс», поэтому я беру его в список. Внутри цикла я проверяю курс элементов и извлекаю из него несколько строковых значений.

Выдает NullPointerException, когда я пытаюсь getAttribute("biz_name") или любые другие атрибуты.

В предыдущей версии это работало нормально, пока ICS ...

Когда я заменяю «курс» первичным тегом в списке (который повторяется только один раз во всем XML), я получаю строковое значение, но только один раз ... Они изменили что-либо в Dom Parser ??

EDIT
Ниже приведен XML-файл, который я пытаюсь разобрать ..

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

1 Ответ

0 голосов
/ 09 ноября 2011

Я не понимаю, почему 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");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...