Boa tarde pessoal, estou conseguindo ler todo meu arquivo xml, quando percebi que faltava capturar estes elementos desta tag, utilizei uma função do Xstream e foi fácil, só que o problema é que quando utilizo está função ele não deixa buscar os outros elementos das outras tags da uma java.lang.NullPointerException
A exceção é bem básica. Trata-se de uma referência nula que tenta executar uma ação .
Verifique na API se ela não oferece forma de verificar se um determinado atributo existe na tag em questão.
Ou se simplesmente tu passar para a API um atributo inexistente na tag, ela gere essa exceção.
Enfim, leia a API que está utilizando e qualquer coisa, posta o código e indique a linha onde o erro é gerado.
quando executo tudo isso junto tenho o seguinte resultado no console
[code]run:
Exception in thread “Thread-0” java.lang.NullPointerException
Numero de registros : 1
CCO : 026997828105
Situacao : ATIVO
Data atualização : 2011-09-05
at br.com.businessflex.controller.LerXML.run(LerXML.java:37)
at java.lang.Thread.run(Thread.java:722)
CONSTRUÍDO COM SUCESSO (tempo total: 16 minutos 7 segundos)[/code]
Se mando rodar o mesmo código apenas tirando a classe ConversorBeneficiario ele lê todo o arquivo setando os valores de CCO, Situação e Data atualização para null.
Então está tendo problema na conversão do seu XML. Verifica o método que gera o seu XML, é lá que deve estar o problema.
Uma curiosidade, tais mexendo com PTU (Protocolo de Transmissão UNIMED) ?
É um arquivo ANS ( agência nacional de saúde), não sou eu que gero nel pego ele pronto, o trabalho é ler e gravar no banco de dados… :S e agora oque poderia fazer?? :roll:
Sim, é que o PTU usa o padrão ANS…trabalhei com ele no ano passado. Bom, a ANS disponibiliza um XSD, tu poderia usar JAXB para gerar um objeto pronto.
Basta passar o XSD, o XML e ele gera o objeto, inclusive, valida ele.
Mas o teu erro não é esse. O que tu precisa analisar é se a tag Identificacao realmente existe no XML que tu está lendo. Se ela não existir, bom, é óbvio que vai gerar NullPointer. Na época, eu tive que fazer tratamentos do tipo:
[code]if(null != getIdentificacao()) {
}[/code]
Porque o schema da ANS indicava que essa tag XML não é obrigatória.
Resumindo, tu precisa conhecer o schema da ANS para identificar quais tags não são obrigatória e fazer os devidos “if´s” no seu código.
Senão, vai ter que entupir de if´s e com certeza terão alguns desnecessários.