Código PHP:
<?php
session_start();
require "leeplan-controller.php";
$PLANTELEFONIA=$_SESSION["PLANESCEL"];
$numplanes=count($PLANTELEFONIA);
echo "<?xml version='1.0' encoding='UTF-8' ?>";
?>
<consultaplanes>
<?php
for ($i=0;$i<$numplanes;$i++)
{
?>
<plan>
<nombre><?php echo $PLANTELEFONIA[$i]["descPlan"];?></nombre>
<codigo><?php echo $PLANTELEFONIA[$i]["idPlan"];?></codigo>
</plan>
<?php
}
?>
</consultaplanes>
Código HTML:
<?xml version="1.0" encoding="UTF-8" ?> - <consultaplanes> - <plan> <nombre>Plan Multimedia 100 minutos todo destino</nombre> <codigo>M100</codigo> </plan> - <plan> <nombre>Plan Multimedia 200 minutos todo destino</nombre> <codigo>M200</codigo> </plan> - <plan> <nombre>BlackBerry 800 minutos todo destino</nombre> <codigo>BB800</codigo> </plan> - <plan> <nombre>Iphone 400 minutos todo destino</nombre> <codigo>IP400</codigo> </plan> </consultaplanes>
Código:
El inconveniente que tengo es que aparentemente extraigo el documento XML pero cuando trato de acceder al arbol DOM es como si estuviera vacío. Se que el elemento <select> lo debo construir por separado, pero mientras no logre tener acceso a la información no puedo hacer esta construcción, ¿alguien puede darme una idea de que estoy haciendo mal?function leePlanesAjax() { var ajax=newAjax(); ajax.open("GET", "leeplan-view.php", true); //no se enviaran datos, por eso modo GET ajax.send(); //método send con argumento null, pues método de envío especificado es GET ajax.onreadystatechange=function() { if (ajax.readyState==4) { xmlDoc=ajax.responseXML; document.getElementById("pln").innerHTML=xmlDoc; // --> esto pone en la pagina el valor [objet]] var plan=xmlDoc.getElementsByTagName("plan"); document.getElementById("pln").innerHTML=plan.length //-->esto pone en la pagina valor cero nombre=""; codigo=""; for (i=0;i<plan.length;i++) //cantidad de nodos con tag "plan" { nombre=plan[i].childNodes[0].nodeValue + "<br/>"; //accede al primer nodo "plan" y a su vez al primer nodo hijo que corresponde al tag "nombre" document.getElementById("pln").innerHTML=nombre; codigo=plan[i].childNodes[1].nodeValue + "<br/>"; //accede al primer nodo "plan" y a su vez al segundo nodo hijo que corresponde al tag "codigo" } } } }
Muchas gracias