如何在Blackberry中解析空节点值

时间:2011-11-03 08:42:32

标签: blackberry xml-parsing

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

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

在解析上面时抛出Null指针异常。这是我的代码

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 个答案:

答案 0 :(得分:1)

试试这个:

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

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

答案 1 :(得分:0)

我尝试了以下代码

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