Olá pessoal tudo bem, sou novo em java e estou com um projeto de tcc que funciona da seguinte maneira:
Tenho um xml que esta nessa estrutura
<?xml version="1.0" encoding="utf-8"?>
<LIST>
<DADOSCLI>
<DADOS ID="cep" VALUE="00000" />
<DADOS ID="uf" VALUE="SP" />
<DADOS ID="rep_telefoneempresa" VALUE="00000" />
<DADOS ID="rep_cidadeempresa" VALUE="São Paulo" />
<DADOS ID="nomecliente" VALUE="Jose Teste" />
<DADOS ID="observacoes" VALUE="000" />
<DADOS ID="fone" VALUE="0000" />
<DADOS ID="rep_cnpjempresa" VALUE="" />
<DADOS ID="rep_emailempresa" VALUE="[email removido]" />
<DADOS ID="bairro" VALUE="fffff" />
<DADOS ID="codcliente" VALUE="00" />
<DADOS ID="contatoempresa" VALUE="" />
<DADOS ID="endentrega" VALUE="" />
<DADOS ID="email" VALUE="" />
<DADOS ID="rep_ufempresa" VALUE="SP" />
<DADOS ID="rep_bairroempresa" VALUE="Morumbi" />
<DADOS ID="cpfcnpj" VALUE="" />
</DADOSCLI>
</LIST>
Certo, porém, aqui está o meu problema: Não estou conseguindo pegar o elemento que preciso. Ex.:
<DADOS ID="cep" VALUE="00000" />
Preciso buscar o VALUE deste ID="cep". Segue o meu código em java:
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
//abre e faz o parser de um documento xml de acordo com o nome passado no parametro
Document doc = builder.parse("meuarquivo.xml");
//cria uma lista de dadosCli. Busca no documento todas as tag dadosCli
NodeList listaDedadosCli = doc.getElementsByTagName("DADOSCLI");
//pego o tamanho da lista de dadosCli
int tamanhoLista = listaDedadosCli.getLength();
//varredura na lista de dadosCli
for (int i = 0; i < tamanhoLista; i++) {
//pego cada item (dadosCli) como um nó (node)
Node nodadosCli = listaDedadosCli.item(i);
//verifica se o nodadosCli é do tipo element (e não do tipo texto etc)
if(nodadosCli.getNodeType() == Node.ELEMENT_NODE) {
//caso seja um element, converto o no dadosCli em Element pessoa
Element elementodadosCli = (Element) nodadosCli;
//já posso pegar o atributo do element
String id = elementodadosCli.getAttribute("id");
//recupero os nos filhos do elemento dadosCli
NodeList listaDeFilhosDadadosCli = elementodadosCli.getChildNodes();
//pego o tamanho da lista de filhos do elemento dadosCli
int tamanhoListaFilhos = listaDeFilhosDadadosCli.getLength();
//varredura na lista de filhos do elemento dadosCli
for (int j = 0; j < tamanhoListaFilhos; j++) {
//crio um no com o cada tag filho dentro do no pessoa (tag nome, idade e peso)
Node noFilho = listaDeFilhosDadadosCli.item(j);
//verifico se são tipo element
if(noFilho.getNodeType() == Node.ELEMENT_NODE){
//converto o no filho em element filho
Element elementoFilho = (Element) noFilho;
// aqui que estou perdido pessoal
}
}
}
}
} catch (ParserConfigurationException ex) {
Logger.getLogger(TccXMLDom.class.getName()).log(Level.SEVERE, null, ex);
} catch (SAXException ex) {
Logger.getLogger(TccXMLDom.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(TccXMLDom.class.getName()).log(Level.SEVERE, null, ex);
}
Alguém pode me ajudar por favor?
Muito obrigado pela atenção…