Foros del Web » Programación para mayores de 30 ;) » Java »

Leer XML (generado en Servlet) con JavaScript

Estas en el tema de Leer XML (generado en Servlet) con JavaScript en el foro de Java en Foros del Web. Buenas: He buscado por media web y no encuentro solución. El tema es el siguiente: Genero una respuesta XML desde un servlet: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ...
  #1 (permalink)  
Antiguo 18/05/2010, 01:53
 
Fecha de Ingreso: enero-2010
Ubicación: Iquique
Mensajes: 16
Antigüedad: 14 años, 3 meses
Puntos: 1
Leer XML (generado en Servlet) con JavaScript

Buenas:

He buscado por media web y no encuentro solución. El tema es el siguiente:

Genero una respuesta XML desde un servlet:

Código java:
Ver original
  1. protected void doPost(HttpServletRequest request, HttpServletResponse response)
  2.     throws ServletException, IOException {
  3.        response.setContentType("text/xml");
  4.        response.setHeader("Cache-Control", "no-cache");
  5.        PrintWriter out = response.getWriter();
  6.        out.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
  7.        out.write("<personas>");
  8.        out.write("<persona code=\"001\">");
  9.        out.write("<nombre>Marito</nombre>");
  10.        out.write("<apellido>Cares</apellido>");
  11.        out.write("<edad>20</edad>");
  12.        out.write("<sexo>M</sexo>");
  13.        out.write("</persona>");
  14.        out.write("</personas>");
  15.  
  16.        response.sendRedirect("/ConectaBD/lectorXML.jsp");
  17.     }

Y quiero leer esos valores (por el momento ficticios... en realidad los llamo desde una BD) con JavaSript para llenar cierta tabla o algo.

El problema que tengo es que... no se como leer. Como rescatar el archivo XML generado para luego parsearlo.

Tengo entendido que es de esta manera (lo que tengo en lectorXML.jsp):
Código Javascript:
Ver original
  1. function leyendoXML(){
  2.                 if (window.DOMParser){
  3.                     try{
  4.                         parser=new DOMParser();
  5.                         xmlDoc=parser.parseFromString(text,"text/xml");
  6.                         /*Y en este momento se cuelga, porque no tengo la variable "text", que debería ser la respuesta que me envía el servlet*/
  7.                     }catch(e){
  8.                         alert(e.toString());
  9.                     }
  10.                 }else /* Internet Explorer*/{
  11.                   xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  12.                   xmlDoc.async="false";
  13.                   xmlDoc.loadXML(text);
  14.                 }
  15. /*Ahora escribo los datos con cierta lógica*/

Lo más cercano a una solución que he encontrado, es [URL="http://www.java-tips.org/java-me-tips/midp/sending-data-to-servlet-and-getting-the-response.html"]esta[/URL] pero, no me sirve.

Muchas Gracias!
  #2 (permalink)  
Antiguo 19/05/2010, 08:56
 
Fecha de Ingreso: febrero-2010
Mensajes: 128
Antigüedad: 14 años, 2 meses
Puntos: 3
Respuesta: Leer XML (generado en Servlet) con JavaScript

si estas haciendo un jsp, te compensa hacerlo con java en vez de con javascript, que seguro que te resulta mucho más sencillo de desarrollar y de depurar los errores.

Prueba a hacerlo así y si no te sale mañana te pongo en este post varios métodos para leer desde un fichero xml, cambia el hecho de que tu xml esta en una variable, pero no creo que sea problema alguno.

Saludos
  #3 (permalink)  
Antiguo 19/05/2010, 10:03
 
Fecha de Ingreso: enero-2010
Ubicación: Iquique
Mensajes: 16
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Leer XML (generado en Servlet) con JavaScript

Gracias por la respuesta!

Resulta que cuando escribí el post, no tenía ni la más mínima idea de lo que estaba haciendo :D

Investigando, logré leer la respuesta (en xml) que me envía el servlet.

De todas formas, cuando logre una solución, lo postearé en caso de que alguien tenga la misma duda que yo :)

Saludos!

Etiquetas: javascript, servlet, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:32.