如果我正在迭代嵌套节点,其中一个节点有时会出现其他节点,那么我不知道如何检查它,所以我没有得到NullPointerException?
例如,如果我正在执行类似这样的操作并且它出现在idNumber不存在的集合中,则会抛出NullPointerException。
<code>
NodeList nl = docEle.getFirstChild().getChildNodes();
int length = nl.getLength();
System.out.println(length);
for (int i = 0; i < length; i++) {
if (nl.item(i).getNodeType() == Node.ELEMENT_NODE) {
idNumber = el.getElementsByTagNameNS("urn:example","idNumber").item(0).getTextContent();
}
</code>
答案 0 :(得分:0)
Here是NodeList.item()
的javadoc,它说如下:
NodeList中索引位置的节点,如果不是有效索引,则为null。
因此,看起来在您的案例中找不到节点,因此list
为空。您可以在调用getTextContent()
方法之前添加一个检查,例如:
NodeList list = el.getElementsByTagNameNS("urn:example","idNumber");
if(list.getLength() > 0){
idNumber = list.item(0).getTextContent();
}