Comence un post en el foro de PHP y alli nos hemos quedado atascados... A ver si aqui hay mas suerte, ya que el XML es el tema central de la duda... ;)
Tengo un codigo XML que os muestro abajo y del que tengo que extraer datos con php.
Código:
Este es el codigo verdadero. Yo necesito mostrar solo los datos que hay entre las etiquetas <gpk:logs></gpk:logs>, pero solo las del primer <vpt>. El problema que tengo es que hago un bucle siguiendo las pistas que me habeis ido dando para mostrarlos asi, por mostraros una de las formas que he probado:<vpt la=1 lo=2> <name></name> <car></car> <gpk:logs> <gpk:log id="39146139"> <gpk:date>fecha</gpk:date> <gpk:type>perfecto</gpk:type> <gpk:fin id="1">nombre</gpk:fin> <gpk:text encoded="False">texto 1</gpk:text> </gpk:log> <gpk:log id="34860048"> <gpk:date>fecha2</gpk:date> <gpk:type>perfecto</gpk:type> <gpk:fin id="2">nombre2</gpk:fin> <gpk:text encoded="False">Texto2</gpk:text> </gpk:log> </gpk:logs> </vpt> <vpt la=3 lo=4> <name></name> <car></car> <gpk:logs> <gpk:log id="39149856"> <gpk:date>fecha3</gpk:date> <gpk:type>perfecto</gpk:type> <gpk:fin id="3">nombre3</gpk:fin> <gpk:text encoded="False">texto 3</gpk:text> </gpk:log> <gpk:log id="34863261"> <gpk:date>fecha4</gpk:date> <gpk:type>perfecto</gpk:type> <gpk:fin id="4">nombre4</gpk:fin> <gpk:text encoded="False">Texto4</gpk:text> </gpk:log> </gpk:logs> </vpt>
Código:
Pero esto en vez de mostrarme los date de solo el <gpk:logs> de la primera etiqueta (<vpt la=1 lo=2>) me muestra todos los que hay en todas las etiquetas (fecha1,fecha2,fecha3,fecha4...etc)$etiquetas = $xml->xpath( "//c:log" ); $numero = count ($etiquetas); for ( $i = 0 ; $i <= $numero ; $i ++){ $ldate = $xml->xpath('//c:date'); echo $ldate[$i].'</br>';
Como puedo hacerlo para que solo me devuelva fecha1 y fecha 2 que son los que estan dentro de las primeras <gpk:logs>?
En el otro foro me dicen que juegue con el xpath hasta dar con el bueno que solo me muestre los datos del primer <gpk:logs></gpk:logs>, pero no tengo ni idea de la sintexis de estos querys... Podeis echarme una mano??
MUchisimas gracias por vuestra ayuda.