Criar tabela com Ajax a partir de um xml

229 views
Skip to first unread message

Jeovane Reges

unread,
Feb 6, 2013, 8:58:32 AM2/6/13
to jque...@googlegroups.com
Olá pessoal, bom dia.
Pessoal, meu problema é o seguinte, tenho um formulário onde o usuário submete uma consulta qualquer 
e então tenho um Servlet que processa essa consulta e retorna o resultado em xml.
O que eu gostaria era de pegar esse resultado e construir uma tabela para apresentar os dados ao usuário.

O arquivo xml retornado, SEMPRE obedece o seguinte formato, no entanto, podendo variar a quantidade de variáveis contidas no select e consequentemente a quantidade de resultados:
  1. Dentro da tag <head> </head> fica as variáveis do Select, ou seja, as que formarão as colunas de minha tabela.
  2. Dentro da <results> </results> fica os resultado que irão compor as linhas da minha tabela.
O arquivo em XML pode ser visualizado nesse link http://pastebin.com/A2Auaqnk
O problema consiste no seguinte pessoal, é que ainda não sei, como navegar dentro de um arquivo xml.

Bem, por onde devo iniciar pessoal? Como que faço para navegar dentro desse arquivo xml e montar minha tabela?
Desde de já obrigado pela ajuda de todos.

Eduardo Kraus

unread,
Feb 6, 2013, 8:02:13 PM2/6/13
to jquery-br
Primeiro é ideal transformar o XML em um Array. Assim fica mais fácil de manipular os dados.


Após ter isso em Array é simples, de manipular... 
--
--
Grupo de jQuery Brasil.
 
REGRAS: https://docs.google.com/document/d/1VfvTDmeHTSj-L5ouZJjQQ4OkjTCU1Hr2XtPYBNGVHH4/edit
 
USE O JSBIN.COM / JSFIDDLE.NET PARA CÓDIGOS.
 
Email: jque...@googlegroups.com
Biba: jquery-br+...@googlegroups.com
Site: http://groups.google.com/group/jquery-br?hl=pt-BR
 
---
Você está recebendo esta mensagem porque se inscreveu no grupo "jQuery (Brasil)" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para jquery-br+...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 

Daniel Vinciguerra

unread,
Feb 7, 2013, 6:27:16 AM2/7/13
to jquery-br
Cara,

Acho que o que você precisa pode ser encontrado neste link... http://www.xml.com/pub/a/2007/10/10/jquery-and-xml.html

Veja como ele faz uma requisição get e pega o resultado manipulando-o com os selectors naturalmente...

Com este exemplo simples que eu fiz espero que consiga dar andamento ai no seu trabalho.

http://jsbin.com/asubeq/1

Grande abraço



Daniel Vinciguerra

Web Solutions Architect and Co-Owner at Bivee
http://github.com/dvinciguerra


2013/2/6 Eduardo Kraus <eduard...@gmail.com>

Jeovane Reges

unread,
Feb 7, 2013, 9:39:12 AM2/7/13
to jque...@googlegroups.com
Olá pessoal, bom dia.
Eu até fiz, porém da maneira que fiz ainda estar falho.
Ou seja, existem alguns casos, que na hora que a tabela é montada, esta acaba sendo montada erroneamente.
Por exemplo, olhem esse arquivo em xml http://pastebin.com/cx7WDw9N
Vocês podem verificar que ele possuiu 4 variáveis gn1, indication1, gn2, indication2.

Da maneira que meu código se apresenta no momento em que a tabela vai ser criada ele adiciona todos os valores apenas as variáveis gn1 e indication1, sendo que apenas alguns valores pertencem a essas colunas e não todos.
O que percebi é que devo verificar o name dentro da tag binding e adicionar o valor corresponde a coluna na qual o name é igual.
Para tal, resolvi adicionar os valores das colunas na variável var varsQuery = []; 
No entanto, não estou conseguindo fazer corretamente essa verificação antes de adicionar os valores.

Meu código para montar a tabela http://pastebin.com/RZ2FrKmU

Alguém poderia me dar uma dica de como que eu possa fazer isso corretamente?
Desde de já obrigado pela ajuda pessoal.

Jeovane Reges

unread,
Feb 7, 2013, 1:19:28 PM2/7/13
to jque...@googlegroups.com
Olá pessoal, boa tarde.
Galera, conseguir resolver o meu problema. :-)
O código final ficou da seguinte maneira http://pastebin.com/KV4ShRDn
Até a próxima galera, abraço.

Ebel Diogo Chimunthu

unread,
Feb 7, 2013, 2:14:50 PM2/7/13
to jque...@googlegroups.com
Melhor ainda seria que o seu resultado retornasse em "JSON" em vez de XML, assim teria como vc manipular facilmente com o Jquery


WebRep
Overall rating
 


Em 6 de fevereiro de 2013 11:58, Jeovane Reges <jeovan...@gmail.com> escreveu:
--

Daniel Vinciguerra

unread,
Feb 7, 2013, 2:29:01 PM2/7/13
to jquery-br
{Ebel Diogo}++  # ótima dica

Além do aumento na performance e da redução do numero de caracteres na transmissão dos dados! ;)

[]'s


Daniel Vinciguerra

Web Solutions Architect and Co-Owner at Bivee
http://github.com/dvinciguerra


2013/2/7 Ebel Diogo Chimunthu <chim...@gmail.com>

Jeovane Reges

unread,
Feb 7, 2013, 2:32:31 PM2/7/13
to jque...@googlegroups.com
Tem como eu retornar o resultado em Json também.
Mas, como que ficaria o meu código caso o resultado fosse em Json?

Cleyton Artur Soares Urani

unread,
Feb 7, 2013, 5:59:25 PM2/7/13
to jque...@googlegroups.com
Boa noite Jeovane,

Então o JSON é simples é composto por {"chave":"valor"}. Não entendo de XML mais acho que no seu caso o JSON ficaria mais ou menos assim:
[{"dailymedActiveIngredientName":"hydroxocobalamin","siderSideEffectName":"Dyspepsia","drugbankChemicalFormula":"C62H90CoN13O15P"},{"dailymedActiveIngredientName":"hydroxocobalamin","siderSideEffectName":"indigestion","drugbankChemicalFormula":"C62H90CoN13O15P"}].  

Agora no Jquery você pode usar #.getJson.
É bem simples de implementar e modificar à sua necessidade, dê uma olhada aqui http://api.jquery.com/jQuery.getJSON/ .

Jeovane Reges

unread,
Feb 7, 2013, 6:16:39 PM2/7/13
to jque...@googlegroups.com
Olá pessoal, boa noite.
Enganei-me ao dizer que tinha como retornar como Json.
O retorno em Json é do tipo void, ou seja, pra que ele servisse teria que ser ao menos do tipo String.
Bem, muito obrigado pela ajuda de todos.
Abraço pessoal, até a próxima.

Elias Gomes

unread,
Apr 11, 2014, 10:33:15 AM4/11/14
to jque...@googlegroups.com
Como coloco tudo isso no html?


Em quarta-feira, 6 de fevereiro de 2013 10h58min32s UTC-3, Jeovane Reges escreveu:
Reply all
Reply to author
Forward
0 new messages