2011-11-08 48 views
0

可能重複時:
How to parse empty node value in Blackberry空指針異常的黑莓解析節點值

我正在從如下Web服務的響應。

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

當我分析它我在這裏獲得空指針異常。

現在我chaged代碼如下

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

不過還是我得到空指針異常

回答

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

你還需要學習如何調試。以及如何處理異常。你會學會如何在幾秒鐘內修復這種東西