XML的最后一个子节点抛出NullPointerException

时间:2012-12-08 16:15:20

标签: java xml

这是我的问题,下面的代码可以删除节点中的所有子节点,但是,当剩下最后一个子节点时,它会抛出一个nullpointer。 特别是,我专注于删除姿势,如果我有10个,我可以删除9,但最后一个,将抛出nullpointer。

屏幕截图 enter image description here enter image description here

这是我的代码:

 for(int j = 0; j<dom.getElementsByTagName("animation_sequence").getLength(); j++)
 {
   NamedNodeMap attributes = dom.getElementsByTagName("pose").item(j).getAttributes();
   for (int a = 0; a < attributes.getLength(); a++) {
     Node theAttribute = attributes.item(a);
     if(PoseSelectionListener.imageIDOfSelectedPose.equalsIgnoreCase(
                         attributes.item(a).getNodeValue().toString()))
     {
       if(removed==false)
       {
         Node temp = dom.getElementsByTagName("pose").item(j);
         removed=true;

         try{
           temp.getParentNode().removeChild(temp);
         }
         catch(NullPointerException ex) {return;}
       }
     }

1 个答案:

答案 0 :(得分:2)

你正在计算&#34; animation_sequence&#34;元素,但然后使用索引访问&#34;姿势&#34;元素,所以如果有更多&#34; animation_sequence&#34; s而不是&#34; pose&#34; s,你必然会得到某种错误。