Problema em ler arquivo XML

4 respostas
Fernando_Vicente

Será que alguem pode me ajudar?

To lendo um arquivo XML, e tem alguns resultados vindo como nulo.

SAXBuilder sb = new SAXBuilder();   
		  
		   //Este documento agora possui toda a estrutura do arquivo.   
		   Document doc = sb.build(xml);   
		  
		   //Recuperamos o elemento root   
		   Element mural = doc.getRootElement();   
		  
		   //Recuperamos os elementos filhos (children)   
		   List elements = mural.getChildren();   
		   Iterator i = elements.iterator();   
		   
		   while (i.hasNext()) {
			Element element = (Element) i.next();   
			System.out.println("COD_REQUISICAO: " 		+            element.getChildText("COD_REQUISICAO"));
			System.out.println("NOME_COMPLETO: " 		+ element.getChildText("NOME_COMPLETO"));
			System.out.println("CPF_NUM: " 				+ element.getChildText("CPF_NUM"));
                                               System.out.println("HISTORICO PROFISSIONAL: "        + element.getChildText("HIST_PROF"));
			System.out.println("EMPRESA: "			+ element.getChildText("EMPRESA"));
			System.out.println("RAMO: " 			+ element.getChildText("RAMO"));
			System.out.println("DATA_ADMISSAO: " 	+ element.getChildText("DATA_ADMISSAO"));
			System.out.println("DATA_RESCISAO: " 	+ element.getChildText("DATA_RESCISAO"));
			System.out.println("RESUMO: "			+ element.getChildText("RESUMO")); 
			System.out.println("ULTIMO_SALARIO: "	+ element.getChildText("ULTIMO_SALARIO"));

meu arquivo XMl:

0001 Fernando Henrique Cardoso [telefone removido] 33333333 SOFT 0001 20001020 20080710 Comentario sobre o emprego 000200000 Blabla 0002 20001020 20080710 Comentario sobre o emprego 000200000

e o resultado tá sendo esse:

COD_REQUISICAO: 0001
NOME_COMPLETO: Fernando Henrique Cardoso
CPF_NUM: [telefone removido]
HISTORICO PROFISSIONAL:

EMPRESA: null
RAMO: null
DATA_ADMISSAO: null
DATA_RESCISAO: null
RESUMO: null
ULTIMO_SALARIO: null

nota-se que o resultado do HIST_PROF um vem sem nada e o outro o resultado vem como nulo.

se alguem puder me ajudar, eu agradeço desde já.

4 Respostas

shoko

“HIST_PROF” não é um filho, ele é um pai, verifique na api como que faz para pegar esse elemento e dentro dele sim voce pega os nós filhos dele.

acho que é esse o problema

Lucas_Cavalcanti

o problema é que o element.getChildText(“e”); só funciona pra filhos diretos do elemento…

no caso empresa não é filho direto… é neto, por isso vem null…

e qdo vc pede o childtext do histProf ele pega todos os espaços em branco das tags…

Fernando_Vicente

Valeu pessoal…

É isso o meu problema,

Alguem sabe aonde encontro um material bom para resolve isso ?

Obrigado.

dyorgio

Cara, acho que vc fazendo
um método que chame ele mesmo vc vai resolver,
o nome disso é recursividade…
ai vc passa que quer o elemento “HIST_PROF\EMPRESA”,
o seu método deve processar isso e entrar no elemento HIST_PROF
verificar se ele tem filhos e chamar ele mesmo para pegar o EMPRESA…
Super simples né :smiley: :smiley: :D, não queria colar um código todo pra vc…
vai tentando que vc consegue

Abs,

Criado 17 de julho de 2008
Ultima resposta 17 de jul. de 2008
Respostas 4
Participantes 4