Fala galera … estou começando com java e espero que possam me ajudar por favor …
estou fazendo a leitura de um XML, mas em determinado nó preciso saber se o nodeValue é nulo ou não para poder adiciona-lo a uma String … só que tenho o seguinte problema quando ele realmente é nulo cai dentro da exceção (NullPointerException) e não consigo verificar … alguem pode me dar uma força ??
Se entendi direito o que vc está dizendo, vc deve verificar se o nó é nulo antes de obter o valor senão irá causar uma exception mesmo.
O ideal é que vc coloque no post a parte do código que está com problema para facilitar nossa análise; não esqueça de utilizar a tag CODE.
Bem vindo ao forum!
flws
R
ricardo_rm
exatamente isso fantomas … preciso verificar o valor do nó pois se ele não existir não posso concatena-lo a String conteudo, mas o problema é que ele entra na exceção … então queria uma alternativa para fazer isto
thingol … não entendi muito bem … poderia me dar um exemplo … pois desta forma que tentei na condicional ja cai na exceção … :x
B
Bruno_Laturner
Teste de destNodes é diferente de null, se getElementsByTagName(“IE”) é diferente de null, e se item(0), getFirstChilds e getNodeValue também o são.
T
thingol
A idéia é a seguinte: cada método pode retornar null ou não. Se retornar null, você não pode continuar. O que ocorre é que você tem de testar contra null a cada vez que anda nessa sua expressão gigantesca. Além disso, é aconselhável acrescentar algumas variáveis temporárias para acumular o resultado de expressões lentas para serem executadas, como é o caso de destNodes.getElementsByTagName(), que tem de percorrer o XML DOM inteirinho para criar uma lista de Element.
// Original - o que você queria fazer, mas não dá ainda // porque o Java não aceita ainda o "?." que existe no GroovyStringnodeValue=destNodes?.getElementsByTagName("IE")?.item(0)?.getFirstChild()?.getNodeValue();if(nodeValue!=null)...
// O que você teria de fazer - haja paciência, mas é assim mesmoNodeListelementsIE=null;StringnodeValue=null;if(destNodes!=null&&(elementsIE=destNodes.getElementsByTagName("IE"))!=null&&elementsIE.item(0)!=null&&elementsIE.item(0).getFirstChild()!=null&&(nodeValue=elementsIE.item(0).getFirstChild().getNodeValue())!=null)...
R
ricardo_rm
ahh … agora sim … funcionou …
galera brigadão mesmo … sou novo no forum mas ja achei super legal … espero poder contribuir tbm …