Hola a todos!
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:
<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>
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:
Código:
$etiquetas = $xml->xpath( "//c:log" );
$numero = count ($etiquetas);
for ( $i = 0 ; $i <= $numero ; $i ++){
$ldate = $xml->xpath('//c:date');
echo $ldate[$i].'</br>';
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)
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.