Foros del Web » Programando para Internet » Javascript » Frameworks JS »

responseXML.getElementsByTag() no funciona

Estas en el tema de responseXML.getElementsByTag() no funciona en el foro de Frameworks JS en Foros del Web. Hola mi problema es el siguiente cuando hago: var x = miajax.responseXML.getElementsByTag('pobla'); x es nulo, no doy encontrado el modo de que funcione con explorer ...
  #1 (permalink)  
Antiguo 07/11/2006, 07:13
 
Fecha de Ingreso: septiembre-2005
Ubicación: Ourense
Mensajes: 25
Antigüedad: 18 años, 7 meses
Puntos: 1
responseXML.getElementsByTag() no funciona

Hola mi problema es el siguiente cuando hago:
var x = miajax.responseXML.getElementsByTag('pobla');
x es nulo, no doy encontrado el modo de que funcione con explorer veo que el codigo xml en principio esta bien (http ://w ww.inmueblevirtual.net/ajax/concellosmenu.php?seleccionado=Victor) puesto que devuelve tanto en el navegador como si en lugar de un responseXML hago un responseText:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<xml>
<pobla>
<valor>uno</valor>
<nome>uno</nome>
</pobla>

<pobla>
<valor>dos</valor>
<nome>dos</nome>
</pobla>
</xml>




Espero q alguien pueda ayudarme
  #2 (permalink)  
Antiguo 09/11/2006, 11:24
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
¿Estás intentando capturar el valor que traen tus nodos? Puede que este ejemplito te sea de utilidad http://www.forosdelweb.com/showpost....4&postcount=13

Saludos.
__________________
R4DS en español | R4DS en inglés
  #3 (permalink)  
Antiguo 09/11/2006, 12:25
Avatar de NzO
NzO
 
Fecha de Ingreso: abril-2005
Mensajes: 153
Antigüedad: 19 años
Puntos: 3
Si lo generas con php/asp/jsp tienes que especificar la cabecera. Quiza sea eso...
__________________
NzO=EnZo
isiAJAX & isiXML hechos el uno para el otro.
  #4 (permalink)  
Antiguo 10/11/2006, 06:29
 
Fecha de Ingreso: septiembre-2005
Ubicación: Ourense
Mensajes: 25
Antigüedad: 18 años, 7 meses
Puntos: 1
Gracias ya lo habia solucionado, el problema era en explorer que no obtiene bien los xml lo arregle con un archivo q encontre en google "copy.xsl".
  #5 (permalink)  
Antiguo 17/04/2007, 08:33
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 7 meses
Puntos: 3
Re: responseXML.getElementsByTag() no funciona

que onda, quisiera retomar este tema io, trato de ver lo que me manda el responseXML con un alert y solo me lo manda vacio, si puedo ver el resultado del reponseXML con un alert?
__________________
Wow! No se que decir...
  #6 (permalink)  
Antiguo 17/04/2007, 18:48
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Re: responseXML.getElementsByTag() no funciona

loading..........

var x = miajax.responseXML.getElementsByTag('pobla');

var x = miajax.responseXML.getElementsByTagName('pobla');

Para ver el XML solo haces, alert(miajax.responseText)


connection closed.
__________________

Maborak Technologies
  #7 (permalink)  
Antiguo 18/04/2007, 07:15
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 7 meses
Puntos: 3
Re: responseXML.getElementsByTag() no funciona

si, asi lo puedo ver, pero me el alert sale muy amplio, como si leyera el espacio que ocupa el JAVA y me muestra el XML hasta abajo del alert... intento mandar un alert(ajax.responseXML); pero me lo manda vacio y probe la linea :

var x = ajax.responseXML.getElementsByTagName('campo1');

pero me la manda vacia, entonces no se si el AJAX me recive lo que manda el JSP que crea el AJX presizamente como un Objeto AJAX, mande a llamar directo el JSP y esto me mostro:

Código HTML:
<?xml version="1.0" encoding="ISO-8859-1" ?> 
- <datos>
  <campo1>001</campo1> 
  <campo2>Josue</campo2> 
  <campo3>Informática</campo3> 
  <campo4>si</campo4> 
  <campo5>no</campo5> 
  </datos> 
y esta es mi funcion, pero no se que pasa, alguna idea?

Código HTML:
function MostrarConsulta(datos){

        divResultado = document.getElementById('resultado');
        var id=document.getElementById("idm"); 
        var nom=document.getElementById("nombrem"); 
        var dep=document.getElementById("deptom"); 
        var a=document.getElementById("am"); 
        var b=document.getElementById("bm"); 
        
        ajax=objetoAjax();
        ajax.open("POST", datos,true);
        //ajax.overrideMimeType("text/xml"); 
        //ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        ajax.onreadystatechange=function() {
               if (ajax.readyState==4) {
                if(ajax.status==200){
                       var vari = ajax.responseXML;
                       alert(ajax.responseTEXT);
                       alert( typeof(ajax.responseXML) );
                       alert('vari - '+vari+'-');
                       var x = ajax.responseXML.getElementsByTagName("campo1"); 
                       alert('x - ' + x);
                       //id.value = vari.getElementsByTagName("campo1")[0].childNodes[0].data; 
                       //nom.value = vari.getElementsByTagName("campo2")[0].childNodes[0].data; 
                       //dep.value = vari.getElementsByTagName("campo3")[0].childNodes[0].data; 
                       //a.value = vari.getElementsByTagName("campo4")[0].childNodes[0].data; 
                       //b.value = vari.getElementsByTagName("campo5")[0].childNodes[0].data; 
                       //window.alert(id+"\n"+nom+"\n"+dep+"\n"+a+"\n"+b);
                       alert('paso');
                }
               }
        }
        ajax.send(null)
}
__________________
Wow! No se que decir...
  #8 (permalink)  
Antiguo 18/04/2007, 08:38
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Re: responseXML.getElementsByTag() no funciona

loading............


<campo3>Informática</campo3 <-- este es el problema, debes hacerle un specialchars, osea los acentos con &aacute;



connection closed.
__________________

Maborak Technologies
  #9 (permalink)  
Antiguo 18/04/2007, 09:29
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 7 meses
Puntos: 3
Re: responseXML.getElementsByTag() no funciona

ok, no havia pensado en eso, pero tambien lo he probado con datos que no me trae caracteres especiales... de hecho ya probe dos casos de usar XML, uno generado con un JSP :

Código HTML:
<%@ taglib uri="WEB-INF/taglibs-dbtags.tld" prefix="sql"%>
<%@ page import = "java.text.*" %>

<%@ include file="../connect.jsp" %>

<sql:connection id="conn">
    <sql:userId><%=ConnUser%></sql:userId>
    <sql:password><%=ConnPass%></sql:password>
    <sql:url><%=ConnUrl%></sql:url>
    <sql:driver>com.microsoft.jdbc.sqlserver.SQLServerDriver</sql:driver>
</sql:connection>

<%
String Tipo=(request.getParameter("tipo")==null)?"":request.getParameter("tipo");
%>

<%if(Tipo!=null){

    if(Tipo.equals("mostrar")){
        String xml="";
        String IDE=(request.getParameter("ide")==null)?"":request.getParameter("ide");

        xml="<?xml version='1.0' encoding='ISO-8859-1'?>";
        xml=xml+"<datos>";%>
    <%--Extraigo el nombre del Usuario Creador  --%>
    <sql:statement id="stmtCrea" conn="conn">
    <sql:query>
        select campo1,campo2,campo3,campo4,campo5 from ajaxprueba where campo1='<%=IDE%>'
    </sql:query>
    <sql:resultSet id="crea">
     <% 
        xml=xml+"<campo1>"+crea.getString(1)+"</campo1>";
        xml=xml+"<campo2>"+crea.getString(2)+"</campo2>";
        xml=xml+"<campo3>"+crea.getString(3)+"</campo3>";
        xml=xml+"<campo4>"+crea.getString(4)+"</campo4>";
        xml=xml+"<campo5>"+crea.getString(5)+"</campo5>";
%>
    </sql:resultSet>
    </sql:statement>
    <%
        xml=xml+"</datos>";
        response.setContentType("text/xml");
        out.print(xml);
        
    }
}//Fin de null...%>

<sql:closeConnection conn="conn"/> 
pero en ninguno de los dos casos me funciono el responseXML :( que puedo hacer?
__________________
Wow! No se que decir...
  #10 (permalink)  
Antiguo 18/04/2007, 12:21
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Re: responseXML.getElementsByTag() no funciona

loading............


Y porque a otros si les funciona? :p, es tu fracaso contra los exitos de millones jejeje.


connection closed.
__________________

Maborak Technologies
  #11 (permalink)  
Antiguo 18/04/2007, 15:33
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 7 meses
Puntos: 3
Re: responseXML.getElementsByTag() no funciona

mm eso no me alienta mucho :(, no cras que no me siento como tonto, pero es que enserio, puedo hacer ejemplos cualquiera con el responseTEXT, pero el miserable responseXML no me da una sola, ni probandolo con algo simple...y ya me siento fustrado, por eso es que ando casi rogando que me ayuden aunque sea con un ejemplo de ustedes en el que esten seguros que funciona y me lo pasen para probarlo io, no es posible que afecte el navegador que tengo o algo mas?
__________________
Wow! No se que decir...
  #12 (permalink)  
Antiguo 19/04/2007, 14:54
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Re: responseXML.getElementsByTag() no funciona

loading........


Bueno, probaste tus ejemplos con firefox y su extension firebug? talvez tu XML está mal parseado, y ahi te dirá que le falta (consola de errores) tambien podras ver si realmente recibes el XML.... o mejor aun SUBELO A UN SERVER Y MOSTRANOS.


connection closed.
__________________

Maborak Technologies
  #13 (permalink)  
Antiguo 19/04/2007, 15:35
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 7 meses
Puntos: 3
Re: responseXML.getElementsByTag() no funciona

ya lo resolvi, mi problema era que realmente no ponia de encabezado el <?xml version="1.0" encoding="UTF-8"?> si no como una asignación a una variable, enton ces por eso no me lo tomaba, solo era eso, fue error mio, crei que seria lo mismo si lo poni <%String XML="<?xml version="1.0" encoding="UTF-8"?>";%>, pero en fin, muchas gracias por su tiempo y ayuda!!!
__________________
Wow! No se que decir...
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 21:18.