我正面临某种奇怪的(在我看来)问题。我有一个 NodeList,需要在迭代时从 NodeList 中删除一个元素。NodeList 只有一个子元素,因此删除该元素后 NodeList 没有任何子元素。理想情况下,for 循环应该在删除该元素后停止,但这并没有发生,并且当 for 循环第二次运行时,即使没有可用的子元素,我也会收到 NullPointerException。
示例 XML:
<Order OrderNo="1">
<Lines>
<Line LineNo="1"/>
</Lines>
</Order>
示例代码:
NodeList nlLine = inDoc.getElementsByTagName("Line");
for(int cntLn = 0 ; cntLn < nlLine.getLength() ; cntLn++){
Element elLn = (Element) nlLine.item(cntLn);
if(//some condition){
elLn.getParentNode().removeChild(elLn);
cntLn--;
}
}
我在获取父节点然后删除子节点的行上出现 NullPointer 异常。对此有任何线索/线索/帮助吗?