Amigos desenvolvi uma aplicação que ja faz o cadastro de um tratamento e salvo o mesmo em um arquivo XML, mais agora na hora de consultar esses dados eu não sei como fazer…
Éssa é a estrutura do xml:
<?xml version="1.0" encoding="iso-8859-1"?>
Anderson
Raiz Terceiro Molar _ Superior Direiro
Tratamento Endodontico
Apsectomia
Coroa Segundo Molar _ Superior Direiro
Prafilaxia
Restauracao
Exodontia
Aplicacao Fluor
Raiz Incisivo Central _ Superior Direiro
Tratamento Endodontico
Raspagem
Apsectomia
Raio X
Coroa Primeiro PreMolar _ Superior Esquerdo
Prafilaxia
Coroa Segundo PreMolar _ Inferior Esquerdo
Prafilaxia
Restauracao
Exodontia
Aplicacao Fluor
Eu consigo apresentar essa estrutura em linha de comando, porem eu pensei em apresentar esses dados em um Jform ou em alguma outra forma que vc´s me sugerirem, lembrando que seja qual for a maneira essa tem que se adaptar em função do meu arquivo XML a ser apresentado…
Primeiramento Obrigado pelas respostas!
Segue um codigo que eu fiz para varrer o XML (ainda não funciona HELP) pensei em armazenar todos os campos do XML em um vetor, depois percorreria esse vetor e iria imprimido estes valores atraves de jLabel… Que Acham? Será que é possível? irei postar novamento o XML…
<<<<<<<<<>>>>>>>>>>>>>>>
<?xml version="1.0" encoding="iso-8859-1"?>
<tratamento>
<dente>Raiz Incisivo Central _ Superior Direiro</dente>
<tratamento1>Tratamento Endodontico</tratamento1>
<tratamento2>null</tratamento2>
<tratamento3>Apsectomia</tratamento3>
<tratamento4>null</tratamento4>
<dente>Coroa Incisivo Central _ Superior Esquerdo</dente>
<tratamento1>Prafilaxia</tratamento1>
<tratamento2>Restauracao</tratamento2>
<tratamento3>Exodontia</tratamento3>
<tratamento4>Aplicacao Fluor</tratamento4>
<numerotratamentos>3</numerotratamentos>
</tratamento>
<<<<<<>>>>>>>>
package dentalsoft;
import javax.xml.parsers.*;
import org.w3c.dom.*;
public class ParserImprimeTratamento
{
private static String nomeArquivoXML,nomeTag;
private static String[][] listaTratamento;
private static String nomeDente,tratamento1,tratamento2,tratamento3,tratamento4;
private static int numeroTratamentos;
private DocumentBuilderFactory construtorDocumento;
private DocumentBuilder construtor;
private Document documento;
private Element elementoXML, elementoAuxiliar;
private NodeList listaNosArvore;
public ParserImprimeTratamento(String nomeArquivo)
{
nomeArquivoXML = nomeArquivo;
try
{
carregaDocumentoXML();
processaDocumentoXML();
}
catch (Exception erro)
{
}
}
public void carregaDocumentoXML() throws Exception
{
construtorDocumento = DocumentBuilderFactory.newInstance();
construtor = construtorDocumento.newDocumentBuilder();
documento = construtor.parse(nomeArquivoXML);
elementoXML = documento.getDocumentElement();
}
public String getChildTagValue(Element elemento, String nomeTag)
{
NodeList noFilho = elemento.getElementsByTagName(nomeTag);
if (noFilho == null)
return null;
Element filho = (Element) noFilho.item(0);
if (filho == null)
return null;
return filho.getFirstChild().getNodeValue();
}
public void processaDocumentoXML() throws Exception
{
listaNosArvore = elementoXML.getElementsByTagName("numerotratamentos");
elementoAuxiliar = (Element)listaNosArvore.item(0);
numeroTratamentos = Integer.parseInt(elementoAuxiliar.getFirstChild().getNodeValue());
listaNosArvore = elementoXML.getElementsByTagName("tratamento");
listaTratamento = new String[numeroTratamentos][5];
for(int i=0; i<numeroTratamentos; i++)
{
nomeDente = new String();
nomeDente = getChildTagValue(elementoAuxiliar,"dente");
listaTratamento[i][0] = nomeDente;
tratamento1 = new String();
tratamento1 = getChildTagValue(elementoAuxiliar,"tratamento1");
listaTratamento[i][1] = tratamento1;
tratamento2 = new String();
tratamento2 = getChildTagValue(elementoAuxiliar,"tratamento2");
listaTratamento[i][2] = tratamento2;
tratamento3 = new String();
tratamento3 = getChildTagValue(elementoAuxiliar,"tratamento3");
listaTratamento[i][3] = tratamento3;
tratamento4 = new String();
tratamento4 = getChildTagValue(elementoAuxiliar,"tratamento4");
listaTratamento[i][4] = tratamento4;
}
}
public String[][] retornaListaPacientes(){ return listaTratamento; }
public int retornaNumeroPacientes() { return numeroTratamentos; }
}
Posso dar uma diquinha ? Pq não tenta usar um OXM, é análogo ao conceito de ORM mas para XML. JAXB2 é verynice pra isso Aí vc trabalha com sua classe java direto