Problema ao ler XML com jdom, lê só primeiro elemento, depois da exceção de nullpointerException e não continua o laço while

1 resposta
xmljava
Henrique_Santos2
import java.io.File;

import java.io.IOException;

import java.util.Iterator;

import java.util.List;
import org.jdom2.Document;

import org.jdom2.Element;

import org.jdom2.JDOMException;

import org.jdom2.input.SAXBuilder;
public class Principal {

public static void main(String[] args) {

File f=new File(C:/Users/ricog/Desktop/PIBMunicipiosPE.xml);
SAXBuilder sb=new SAXBuilder();
	
	Document d = null;
	try {
		d= sb.build(f);
	} catch (JDOMException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	
	Element root = d.getRootElement();
	
	List elements = root.getChildren();
	Iterator i = elements.iterator();		

		while(i.hasNext()){
		Element element = (Element)i.next();
		try{
			System.out.println(element.getChild("registros").getChild("registro").getAttributeValue("campo1")+" - "+element.getChild("registros").getChild("registro").getAttributeValue("campo2"));
		}catch(NullPointerException e){
			e.printStackTrace();
		}
		
		}
}

}

1 Resposta

peczenyj

NullPointerException é:

Tipo x = null;
x.metodo();

Se vc faz try / catch para tratar um erro, vc precisa tratar o erro. Ou vc toma uma ação para reparar/tentar de novo ou vc interrompe a ação.

Certamente vc teve outra exception e vc apenas ignorou.

Criado 16 de setembro de 2018
Ultima resposta 16 de set. de 2018
Respostas 1
Participantes 2