Apresentar XML ao usuário

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…

http://www.guj.com.br/posts/list/49816.java

Da uma olhada ai, em outro link daqui do guj

O xml deve representar algum tipo de dado, logo vc deveria pensar me como apresentar o dado, e não o XML.

XML vc pode manipular de qualquer forma, pode usar até XSLT pra isso, mas no fim vc estaria manipulando uma arvore e não os seus objetos de dominio.

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 :slight_smile: Aí vc trabalha com sua classe java direto :slight_smile: