Ler e configurar um arquivo XML ...!

2 respostas
kiq095

Oi gente tenho uma classe aqui que gera um arquivo XML de acordo com um vetor ....

ele salva essa classe nesse formato ..

<list>
- <CAMPOS>
     - <Campos>
           <string>CAMPO 1</string> 
           <string>CAMPO 2</string> 
           <string>CAMPO 3</string> 
           <null /> 
           <null /> 
     - </Campos>
- </CAMPOS>
</list>

masi agora uma duvida ..??? eu to usando DOM..

como fasso pra ler essas strings e colocar elas em um vetor ..????

tipo

vetor[5]

      0 [CAMPO 1]
      1 [CAMPO 2]
      2 [CAMPO 3]
      3 [null]
      4 [null]

por q tentei assim..

STRING VETOR[];

    Element raiz = doc.getDocumentElement();
    NodeList listaContatos = raiz.getElementsByTagName("CAMPOS");
    Element contato = (Element) listaContatos.item(0);

         NodeList listaNomes = contato.getElementsByTagName("Campos");
         Node nome = listaNomes.item(0).getFirstChild();
	 VETOR =nome.getNodeValue();
         // mais da erro por nao to informando a posição do vetor 
        // e tenho q informar a posiçao e incar o capo <string> correto
ai tentei faser um for de acordo com o tamanho do
listaNomes.getLength();

mais nao ta pegando os valores das
e to sem ideias ...
como posso fazer isso ????
se souber me ajuda ai ..!!

2 Respostas

kiq095

:-o

kiq095

e ai galera melhorei o meu XML agora ele nao ta gravando mais espaços nulos ...

<list>
- <k__atualizador.CAMPOS>
-   <Campos__fornrcedor>
         <string>CAMPO 1</string> 
         <string>CAMPO 2</string> 
         <string>CAMPO 3</string> 
     </Campos__fornrcedor>
  </k__atualizador.CAMPOS>
</list>

mesmo assim nao sei como ler ...!!!
ninguem ai nem tem noçao de como retornar esses valores das variaveis ????
nao to conseguindo ler os filhos dos filhos ..!!!hehehe

alguem ai pode me ajudar ...

eu tentei assim mais so ta retornando os valores NULL todos os valores ...

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
			DocumentBuilder db = dbf.newDocumentBuilder();
			Document doc = (Document) db.parse(file);

			//Passo 1: obter o elemento raiz
			Element raiz = doc.getDocumentElement();
			//Passo 2: localizar os elementos filhos da agenda

			NodeList listaContatos = raiz.getElementsByTagName("k__atualizador.CAMPOS");
			//Passo 3: obter os elementos de cada elemento contato
				//como cada elemento do NodeList é um , precisamos fazer o cast
				Element contato = (Element) listaContatos.item(0);
				//Passo 4: obter o atributo id do contato

				//Passo 5: obtém o nome do DRIVER__FORNECEDOR
				NodeList listaNomes = (NodeList)  contato.getElementsByTagName("Campos__fornecedor");
                                cont=listaNomes.getLength();
				Element campos = (Element) listaNomes.item(0).getParentNode();
                                NodeList nome =(NodeList) campos.getElementsByTagName("string");
                                //for(int k=0;k<=cont;k++){
                              
                                
                                Node string =nome.item(0).getParentNode().getFirstChild();
                                test5=string.getNodeValue();
                                System.out.println(test5);
                                setCampo_fornecedor(test5, cont);

                                  //  }

				//Passo 6: obtém o endereço do DRIVER__RECEPTOR
				NodeList listaEndereco = contato.getElementsByTagName("Campos__receptor");
				Node endereco = listaEndereco.item(0).getFirstChild();
				//Campo_receptor =endereco.getNodeValue();

                                test=true;

pode ser de qualquer geito em Xstream ,DOM ,SAX... qualquer coisa ... por q so falta isso pro meu programa ficar pronto ...

desde ja agradeço a quem puder me ajudar...

Criado 16 de março de 2011
Ultima resposta 17 de mar. de 2011
Respostas 2
Participantes 1