Как разобрать значение пустого узла в Blackberry - PullRequest
0 голосов
/ 03 ноября 2011

Я получаю ответ от веб-службы, как показано ниже

<topic id="2"></topic>
<topic id="2">xxx</topic>

при разборе приведенного выше выдает исключение нулевого указателя. Это мой код

speakersnode=speaker.getElementsByTagName("speaker");
for(int k=0;k<speakersnode.getLength();k++)
{
    ids.addElement(((Element)speakersnode.item(k)).getAttribute("id"));
    System.out.println("speaker "+speakersnode.item(k).getFirstChild().getNodeValue());
    vspeakers.addElement(speakersnode.item(k).getFirstChild().getNodeValue());
}

Как я могу решить проблему.

Ответы [ 2 ]

1 голос
/ 03 ноября 2011

Попробуйте:

speakersnode=speaker.getElementsByTagName("speaker");
for(int k=0;k<speakersnode.getLength();k++)
{
   ids.addElement(((Element)speakersnode.item(k)).getAttribute("id"));
   String info = speakersnode.item(k).getFirstChild().getNodeValue();
   if (info == null){
       info = "";
   }     
   System.out.println("speaker "+ info );
   vspeakers.addElement(info);
}

Вам также нужно научиться отлаживать.И как обрабатывать исключения.Вы узнаете, как исправить подобные вещи за считанные секунды

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

Я попробовал следующий код, он работал

speakersnode=speaker.getElementsByTagName("speaker");
for(int k=0;k<speakersnode.getLength();k++)
{
   String info;
    ids.addElement(((Element)speakersnode.item(k)).getAttribute("id"));
   try{
   info = speakersnode.item(k).getFirstChild().getNodeValue();
  }catch(NullPointerException e){info="";}
  vspeakers.addElement(info);
}
...