Foros del Web » Programando para Internet » PHP »

Nusoap y simpleXML

Estas en el tema de Nusoap y simpleXML en el foro de PHP en Foros del Web. Hola a todos. Estoy conectando con el WebServices de un hotel. pero no consigo parsear el resultado. Nusoap me devuelve como responseData esto: Código PHP: ...
  #1 (permalink)  
Antiguo 11/06/2009, 19:40
 
Fecha de Ingreso: mayo-2009
Mensajes: 11
Antigüedad: 14 años, 10 meses
Puntos: 0
Nusoap y simpleXML

Hola a todos.

Estoy conectando con el WebServices de un hotel.

pero no consigo parsear el resultado.

Nusoap me devuelve como responseData esto:
Código PHP:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="xxxxxxx" xmlns:xsi="xxxxxxxxx" xmlns:xsd="xxxxxxxxx/XMLSchema">
<soap:Body>
<OTA_HotelAvailServiceResponse xmlns="xxxxxxx.org/OTA/2003/05">
<OTA_HotelAvailRS SequenceNmbr="wzWU+IzDFSqjnc1tDyVYrMVQRPYvFU+dev0oDsdDosI=">
<Success />
<RoomStays>
<RoomStay>
<RoomTypes />
<RoomRates>
<RoomRate RatePlanCode="bEKt+Hy1ea9dnEyqb+5+AdN88Ft7T8AMCp0tYQcshfiYBmbHk12sXW0cUlZUo94jnvq1OtB/74bCkCp+v/S6G1aY3eGkw==" RatePlanCategory="Solo alojamiento" AvailabilityStatus="AvailableForSale">
<Rates>
<Rate NumberOfUnits="1" RateMode="Room">
<Total AmountAfterTax="271.77" DecimalPlaces="2" />
<RateDescription>
<Text>
Estándar
</Text>
</RateDescription>
<TPA_Extensions><DailyBreakdown xmlns="">
67.94#67.94#67.94#67.94
</DailyBreakdown>
</TPA_Extensions>
</Rate>
<Rate NumberOfUnits="1" RateMode="Room">
<Total AmountAfterTax="271.77" DecimalPlaces="2" />
<RateDescription>
<Text>
Estándar
</Text>
</RateDescription>
<TPA_Extensions>
<DailyBreakdown xmlns="">
67.94#67.94#67.94#67.94
</DailyBreakdown>
</TPA_Extensions>
</Rate>
</Rates>
<Total AmountAfterTax="543.55" CurrencyCode="USD" DecimalPlaces="2" />
</RoomRate>
<RoomRate RatePlanCode="bEKt+Hy1ea9dnEyqb+5+AdN88Ft7T8AMCp0tYQHk12sXW0cUlZUo94jnvq1OtB/74bCkCp+v/S6G1aY3eGkwXaElGsxxS6qAQXe2NFMM0iOybHpNiDCssa1VYIjZ3mgUketn4Ymdwx6leFXMI+i7lwcLj7dlcvg9T3C9A/OXhb1ENqARJ5+SKEsUQKSME+84aXkPmht0QjvgQ==" RatePlanCategory="Solo alojamiento" AvailabilityStatus="AvailableForSale"><Rates><Rate NumberOfUnits="1" RateMode="Room"><Total AmountAfterTax="271.77" DecimalPlaces="2" /><RateDescription><Text>Estándar</Text></RateDescription><TPA_Extensions><DailyBreakdown xmlns="">67.94#67.94#67.94#67.94</DailyBreakdown></TPA_Extensions></Rate><Rate NumberOfUnits="1" RateMode="Room"><Total AmountAfterTax="271.77" DecimalPlaces="2" /><RateDescription><Text>Estándar (Cama doble)</Text></RateDescription><TPA_Extensions><DailyBreakdown xmlns="">67.94#67.94#67.94#67.94</DailyBreakdown></TPA_Extensions></Rate></Rates><Total AmountAfterTax="543.55" CurrencyCode="USD" DecimalPlaces="2" /></RoomRate><RoomRate RatePlanCode="bEKt+Hy1ea9dnEyqb+5+AdN88Ft7T8AMCp0tYQcshfiYBmbHk12sXW0cUlZUo94jnvq1OtB/74bCkCp+v/S6G1aY3eGkwXaElGsxxS6qAQU7XJbeuD8bszkbbjQyquaX79NjLDPqMgVlwpjm2wL/1LwredF9+RaX7auBLtC3Byxin8mHQe6I3o7EZ/c8kvVqoA6cKQYbHbHkw4GcCPBEeA==" RatePlanCategory="Solo alojamiento" AvailabilityStatus="AvailableForSale"><Rates><Rate NumberOfUnits="1" RateMode="Room"><Total AmountAfterTax="271.77" DecimalPlaces="2" /><RateDescription><Text>Estándar (Cama doble)</Text></RateDescription><TPA_Extensions><DailyBreakdown xmlns="">67.94#67.94#67.94#67.94</DailyBreakdown></TPA_Extensions></Rate><Rate NumberOfUnits="1" RateMode="Room"><Total AmountAfterTax="271.77" DecimalPlaces="2" /><RateDescription><Text>Estándar</Text></RateDescription><TPA_Extensions><DailyBreakdown xmlns="">67.94#67.94#67.94#67.94</DailyBreakdown></TPA_Extensions></Rate></Rates><Total AmountAfterTax="543.55" CurrencyCode="USD" DecimalPlaces="2" /></RoomRate><RoomRate RatePlanCode="bEKt+Hy1ea9dnEyqb+5+AdN88Ft7T8AMCp0tYQcshfiYBmbHk12sXW0cUlZUo94jnvq1OtB/74bCkCp+v/S6G1aY3eGkwXaElGsxxS6qAQU7XJbeuD8bszkbbjQyquaX79NjLDPqMgVlwpjm2wL/1KH3re+SMxHjBArjDnp/uY8XvMF16NBnQ6jQaeDseIkweU9HIAOCeF6jMXgSEnWuow==" RatePlanCategory="Solo alojamiento" AvailabilityStatus="AvailableForSale"><Rates><Rate NumberOfUnits="1" RateMode="Room"><Total AmountAfterTax="271.77" DecimalPlaces="2" /><RateDescription><Text>Estándar (Cama doble)</Text></RateDescription><TPA_Extensions><DailyBreakdown xmlns="">67.94#67.94#67.94#67.94</DailyBreakdown></TPA_Extensions></Rate><Rate NumberOfUnits="1" RateMode="Room"><Total AmountAfterTax="271.77" DecimalPlaces="2" /><RateDescription><Text>Estándar (Cama doble)</Text></RateDescription><TPA_Extensions><DailyBreakdown xmlns="">67.94#67.94#67.94#67.94</DailyBreakdown></TPA_Extensions></Rate></Rates><Total AmountAfterTax="543.55" CurrencyCode="USD" DecimalPlaces="2" /></RoomRate><RoomRate RatePlanCode="bEKt+Hy1ea9dnEyqb+5+AU+A2IwTuCERl4MZNskmXzhGBt0ZvHsN+GGZfGXvGtxa1iWUUCBHC9z6Q5jVK8+Yn81p8aHcZr9MT7ieMjbasE1MfSfDFlSZgIKNC61AlioNMsasSTU3JGf53uJ/89WWkK/8RbqwakRkEcYwMB4ZDODv2xU/YzVgb4swq6Ky0rIm" RatePlanCategory="Solo alojamiento" AvailabilityStatus="AvailableForSale">
<Rates>
<Rate NumberOfUnits="1" RateMode="Room"><Total AmountAfterTax="333.55" DecimalPlaces="2" />
<RateDescription>
<Text>
Superior
</Text>
</RateDescription>
<TPA_Extensions>
<DailyBreakdown xmlns="">
83.39#83.39#83.39#83.39
</DailyBreakdown>
</TPA_Extensions>
</Rate>[COLOR="Red"] ................[/COLOR]
Lo intento parsear con simplexml y no consigo ningun resultado.

Alguien me puede decir como se haría.

Gracias

Saludos
  #2 (permalink)  
Antiguo 12/06/2009, 07:26
 
Fecha de Ingreso: mayo-2009
Mensajes: 11
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Nusoap y simpleXML

Hola a todos.
Ya he conseguido acceder al XML con simpleXML pero ahora tengo el siguiente
problema:

En mi desesperación hago esto que seguro que esta mal:
Código PHP:
foreach($x->OTA_HotelAvailRS->attributes() as $a => $b) {
    echo 
$a,'="',$b,"\"\n";
}

    foreach(
$x->OTA_HotelAvailRS->RoomStays->RoomStay->RoomRates->RoomRate[$i]->attributes() as $RoomRate) {
    echo 
$RoomRate;
$i++;

Y me devuelve un sólo resultado de los 46 que deberia.
Alguien sabe como puedo recorrer el xml para que me muestre todos los resultados.

Gracias.
Saludos.
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 05:02.