解析Blackberry中的节点值时出现空指针异常

时间:2011-11-08 14:43:19

标签: blackberry

  

可能重复:
  How to parse empty node value in Blackberry

我收到来自网络服务的回复,如下所示。

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

现在要解析上面的回复,我编写了如下代码

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

当我解析它时,我在这里得到空指针异常。

现在我按照以下方式查找代码

speakersnode=speaker.getElementsByTagName("section");
for(int k=0;k<speakersnode.getLength();k++)
{
    if(speakersnode.item(k).getFirstChild().getNodeValue() !=null)
{
    System.out.println("speaker "+speakersnode.item(k).getFirstChild().getNodeValue());
    vspeakers.addElement(speakersnode.item(k).getFirstChild().getNodeValue());
}
}

但我仍然得到空指针异常如何

1 个答案:

答案 0 :(得分:0)

试试这个:

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);
}

您还需要学习如何调试。以及如何处理异常。您将在几秒钟内学会如何修复此类内容