PHP - DomXpath parsear XML

 
Vista:

DomXpath parsear XML

Publicado por Marc (1 intervención) el 05/12/2005 12:55:24
Hola a todos,

Primero de todo gracias por vuestro tiempo, tengo un problema a la hora de parsear un documento XML usando las funciones domxpath
- <vuelo>
<vuelonum>XXJ145</vuelonum>
<origen>CAD</origen>
<destino>TEN</destino>
- <salidas>
- <salida>
<fechasalida>03-10-2005</fechasalida>
<horasalida>08:55</horasalida>
</salida>
- <salida>
<fechasalida>05-11-2005</fechasalida>
<horasalida>17:55</horasalida>
</salida>
</salidas>
<duracion>100</duracion>
<capacidad>12</capacidad>
<operador>IBERIA</operador>
<precio>30.00</precio>
</vuelo>

Mi pregunta es, como puedo acceder a los nodos que son fechasalida y hora salida ? es decir tengo lo siguiente:

$dom = new DomDocument();
$dom->preserveWhiteSpace = false;
$dom->load("vuelos.xml");
$xp = new domxpath($dom);
$qry = "/vuelos/vuelo/origen[. = \"$org\"] "; // esta variable llega por post
$viaje = $xp->query($qry);

Ahora el puntero esta en origen y tengo que ir bajando hasta fechasalida, para realizarlo lo hago con un foreach
foreach ($viaje as $linea) {

Bien apartir de aqui empiezan los problemas, si quiero tener solo el campo fechasalida
$linea->nextSibling->nextSibling->fistChild->nextSibling->nodeValue;
esto solo me da la PRIMERA (03-10-2005) salida, es decir, no es recursivo NO me retorna

03-10-2005
05-11-2005
.
.
con horasalida me pasa exactamente lo mismo.
Me estoy volviendo loco y no tengo ni idea de que mas intentar. espero que con vuestra ayuda consiga sacarlo.

Muchisimas gracias

Marc
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder