Foros del Web » Programando para Internet » PHP »

Problemas con xml

Estas en el tema de Problemas con xml en el foro de PHP en Foros del Web. Buenas, estoy haciendo una pequeña aplicación que coge los datos de unos alumnos desde un xml dependiendo de una id que se escoge en la ...
  #1 (permalink)  
Antiguo 27/01/2013, 12:42
Avatar de Lyanna  
Fecha de Ingreso: noviembre-2012
Mensajes: 8
Antigüedad: 11 años, 5 meses
Puntos: 1
Problemas con xml

Buenas, estoy haciendo una pequeña aplicación que coge los datos de unos alumnos desde un xml dependiendo de una id que se escoge en la página.

Para localizar el alumno con la id escogida, uso la siguiente sentencia:

Código PHP:
$nom $doc->xpath('//id[.="'.$_POST['alum'].'"]/../fullname/text()'); 
El alumno esta indicado en el xml con un cdata, creo que puede ser eso el porque...

<fullname><![CDATA[Alumno de ejemplo]]></fullname>

hay otros datos que están sin CDATA y esos los lee pero en un formato extraño, y los que están con CDATA ni siquiera los lee T_T

El post me lo muestra como:
"lat":[{"0":"35.700429"}],"lon":[{"0":"-4.431745"}],"nom":[],"dir":[],"img":[{"0":"alum.png"}],"web":[]

Hace mucho que no usaba xPath así que estoy muy perdida con esto y no le encuentro solución...

a ver si alguno sabéis como va jeje. Gracias.
  #2 (permalink)  
Antiguo 27/01/2013, 13:17
Avatar de s00rk  
Fecha de Ingreso: octubre-2010
Ubicación: Mexico
Mensajes: 238
Antigüedad: 13 años, 6 meses
Puntos: 48
Respuesta: Problemas con xml

Bueno como no tengo idea del xml y como muestras eso yo pensaria en hacer uso de split
$var = "<fullname><![CDATA[Alumno de ejemplo]]></fullname>";
$nombre = split('CDATA\[', $var);
$nombre = split(']]>', $nombre[1]);
$nombre = $nombre[0];

Eso es lo que se me ocurre y por leer el xml pues yo uso simple_load_xml , y ya uso funciones de lectura del xml para recorrer los hijos y demas.

AHora sobre lo que recibes en post, eso se le conoce como json, y puedes acceder a esos datos de la siguiente forma
$obj = json_decode( '{"lat":[{"0":"35.700429"}],"lon":[{"0":"-4.431745"}],"nom":[],"dir":[],"img":[{"0":"alum.png"}],"web":[]}' );
echo $obj->lat->0;

o algo asi era la verdad no recuerdo bien casi no hago uso de json en php sino en javascript.
  #3 (permalink)  
Antiguo 27/01/2013, 14:39
Avatar de Lyanna  
Fecha de Ingreso: noviembre-2012
Mensajes: 8
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Problemas con xml

Ya lo he solucionado, solo tenia que forzar el tipo de variable y ha empezado a funcionar...

El Json lo provoco yo y lo recibo en otro de los scripts pero me mandaba los datos como objetos en vez de texto...no se explicarme muy bien jajaja

De todos modos muchas gracias por la ayuda ^^

Etiquetas: 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:02.