Estou com bastante dificuldade de imprimir informações vindo de um xml com o PHP.
A requisição do wml é assim:
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <LoginHeader Domain="myDomain" xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09"> <AccessCode>99999999</AccessCode> <UserName>myUserName</UserName> <Password>myPassword</Password> </LoginHeader> </soap:Header> <soap:Body> <SearchHotelRequest xmlns="http://TrendOperadora.SIG.XML.ServiceContracts/2007/09"> <DestinationId>5238</DestinationId> <CheckIn>2007-12-13</CheckIn> <CheckOut>2007-12-16</CheckOut> <RoomsInformation> <RoomInfoType> <AdultsNum xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">2</AdultsNum> <ChildrenNum xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">2</ChildrenNum> <ChildAges xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09"> <short>4</short> <short>5</short> </ChildAges> </RoomInfoType> <RoomInfoType> <AdultsNum xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">2</AdultsNum> <ChildrenNum xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09">0</ChildrenNum> </RoomInfoType> </RoomsInformation> <MaxAvrNightPrice>300</MaxAvrNightPrice> <AvailableOnly>True</AvailableOnly> </SearchHotelRequest> </soap:Body> </soap:Envelope>
A resposta do xml deve ficar assim:
<SearchHotelResult xmlns="http://TrendOperadora.SIG.XML.DataTypes/2007/09/SearchHotelResult.xsd"> <RoomsInfoResquested RoomsInfoResquestedId="400111"> <RoomRequested Index="0" RoomResquestedId="400111" numAdults="2" numChildren="2" ChildAges="4;5" AccomodationTypeId="3" AccomodationType="TPL" /> <RoomRequested Index="1" RoomResquestedId="400111" numAdults="2" numChildren="0" ChildAges="" AccomodationTypeId="2" AccomodationType="DBL" /> </RoomsInfoResquested> <Hotel HotelId="100002" Name="SAN JUAN SAO PAULO" Chain="SAN JUAN" CategoryId="4" Category="QUATRO ESTRELAS" Description="" Address="RUA AURORA, 909, VILA BUARQUE" Location="SAO PAULO, SP, BRASIL" Thumb="0000000000_0.gif" Currency="BRL" minAvrNightPrice="250" minAvrNightPriceNet="225" Tax="0" IsAvailable="true" minNights="0"> <RoomType RoomTypeId="7183" Name="DBL - LUX" HotelId="100002" BoardBaseId="8" BoardBase="CAFÉ DA MANHÃ" BedTypeId="0" BedType="" AccomodationTypeId="2" AccomodationType="DUPLO" avrNightPrice="110" avrNightPriceNet="99" Tax="0" qtyAvailable="5"> <PricesAndAvailability RoomTypeId="7183" Date="2007-12-13T00:00:00-02:00" Price="110" PriceNet="99" Tax="0" qtyAvailable="5" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="7183" Date="2007-12-14T00:00:00-02:00" Price="110" PriceNet="99" Tax="0" qtyAvailable="5" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="7183" Date="2007-12-15T00:00:00-02:00" Price="110" PriceNet="99" Tax="0" qtyAvailable="5" RateTypeId="0" RateType="NORMAL" /> </RoomType> <RoomType RoomTypeId="7185" Name="TPL - LUX" HotelId="100002" BoardBaseId="8" BoardBase="CAFÉ DA MANHÃ" BedTypeId="0" BedType="" AccomodationTypeId="3" AccomodationType="TRIPLO" avrNightPrice="140" avrNightPriceNet="126" Tax="0" qtyAvailable="3"> <PricesAndAvailability RoomTypeId="7185" Date="2007-12-13T00:00:00-02:00" Price="140" PriceNet="126" Tax="0" qtyAvailable="3" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="7185" Date="2007-12-14T00:00:00-02:00" Price="140" PriceNet="126" Tax="0" qtyAvailable="3" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="7185" Date="2007-12-15T00:00:00-02:00" Price="140" PriceNet="126" Tax="0" qtyAvailable="3" RateTypeId="0" RateType="NORMAL" /> </RoomType> </Hotel> <Hotel HotelId="100018" Name="TESTE PLAZA (HOTEL P/ TREINAMENTO DE EMISSORES)" Chain="--" CategoryId="1" Category="UMA ESTRELA" Description="Com localização privilegiada entre a Baia do Nunca e o Neverland Trade Center, o Teste Plaza une negócios e lazer em um ambiente requintado e aconchegante." Address="TERRA DO NUNCA, S/N, NEVERLAND" Location="SAO PAULO, SP, BRASIL" Thumb="0000000082_A.JPG" Currency="BRL" minAvrNightPrice="300"minAvrNightPriceNet="270" Tax="15" IsAvailable="true" minNights="0"> <RoomType RoomTypeId="5440" Name="DBL - SUP" HotelId="100018" BoardBaseId="0" BoardBase="NÃO INCLUI" BedTypeId="0" BedType="" AccomodationTypeId="2" AccomodationType="DUPLO" avrNightPrice="140" avrNightPriceNet="126" Tax="15" qtyAvailable="10"> <PricesAndAvailability RoomTypeId="5440" Date="2007-12-13T00:00:00-02:00" Price="140" PriceNet="126" Tax="15" qtyAvailable="10" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="5440" Date="2007-12-14T00:00:00-02:00" Price="140" PriceNet="126" Tax="15" qtyAvailable="10" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="5440" Date="2007-12-15T00:00:00-02:00" Price="140" PriceNet="126" Tax="15" qtyAvailable="10" RateTypeId="0" RateType="NORMAL" /> </RoomType> <RoomType RoomTypeId="5444" Name="TPL - SUP" HotelId="100018" BoardBaseId="0" BoardBase="NÃO INCLUI" BedTypeId="0" BedType="" AccomodationTypeId="3" AccomodationType="TRIPLO" avrNightPrice="160" avrNightPriceNet="144" Tax="15" qtyAvailable="10"> <PricesAndAvailability RoomTypeId="5444" Date="2007-12-13T00:00:00-02:00" Price="160" PriceNet="144" Tax="15" qtyAvailable="10" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="5444" Date="2007-12-14T00:00:00-02:00" Price="160" PriceNet="144" Tax="15" qtyAvailable="10" RateTypeId="0" RateType="NORMAL" /> <PricesAndAvailability RoomTypeId="5444" Date="2007-12-15T00:00:00-02:00" Price="160" PriceNet="144" Tax="15" qtyAvailable="10" RateTypeId="0" RateType="NORMAL" /> </RoomType> </Hotel> </SearchHotelResult>
Já consegui pegar por arrays, os valores das variáveis do Método RoomsInfoResquested e do método Hotel. Agora quero imprimir os valores do método Roomtype que se perceber no xml response, fica dentro do método Hotel. Como eu poderia juntar o metodo Hotel com o Roomtype, para dai sim imiprimir os valores do metodo Roomtype?
Aqui esta o código que usei para imprimir os valores das variáveis dos métodos RoomsInfoResquested e Hotem:
RoomsInfoResquested
echo "<br>RoomRequested<table border='1'>
<td>Index</td>
<td>RoomResquestedId</td>
<td>numAdults</td>
<td>numChildren</td>
<td>ChildAges</td>
<td>AccomodationTypeId</td>
<td>AccomodationType</td>
";
if (isset($result['SearchHotelResult']['diffgram']['SearchHotelResult']['RoomsInfoResquested']['RoomRequested']))
{
$locais = $result['SearchHotelResult']['diffgram']['SearchHotelResult']['RoomsInfoResquested']['RoomRequested'];
if (isset($locais[0]))
{
foreach($locais as $key=>$val)
{
echo "<tr>
<td>{$locais[$key]['!Index']}</td>
<td>{$locais[$key]['!RoomResquestedId']}</td>
<td>{$locais[$key]['!numAdults']}</td>
<td>{$locais[$key]['!numChildren']}</td>
<td>{$locais[$key]['!ChildAges']}</td>
<td>{$locais[$key]['!AccomodationTypeId']}</td>
<td>{$locais[$key]['!AccomodationType']}</td>
</tr>";
}
}
else
{
echo "<tr>
<td>{$locais['!Index']}</td>
<td>{$locais['!RoomResquestedId']}</td>
<td>{$locais['!numAdults']}</td>
<td>{$locais['!numChildren']}</td>
<td>{$locais['!ChildAges']}</td>
<td>{$locais['!AccomodationTypeId']}</td>
<td>{$locais['!AccomodationType']}</td>
</tr>";
}
}
else
{
echo "<tr>
<td>---</td>
<td>---</td>
</tr>";
}
echo "</tbody></table>";Hotel
echo "<br/>sss<table border='1'>
<thead>
<th>HotelId </th>
<th>Name </th>
<th>Chain </th>
<th>CategoryId </th>
<th>Category </th>
<th>Description </th>
<th>Address </th>
<th>Location </th>
<th>Thumb </th>
<th>Currency </th>
<th>minAvrNightPrice </th>
<th>minAvrNightPriceNet </th>
<th>Tax </th>
<th>IsAvailable </th>
<th>HotelPreferencial </th>
<th>minNights </th>
</thead>
<tbody>";
$locais = $result['SearchHotelResult']['diffgram']['SearchHotelResult']['Hotel'];
$locais_2 = $result_2['SearchHotelResult']['diffgram']['SearchHotelResult']['Hotel']['RoomType'];
print_r ($result_2);
asort($locais);
foreach($locais as $key=>$val)
{
$total_dias_3=$locais[$key]['!minAvrNightPrice'];
$total_dias_4=number_format($total_dias_3, 2, ',', '.');
$total_dias=$dias*$locais[$key]['!minAvrNightPrice'];
$total_dias_2=number_format($total_dias, 2, ',', '.');
$total_2= $Adultos_hotel*$total_dias;
$total=number_format($total_2, 2, ',', '.');
echo "<tr>
<td><a href=\"procura_hotel_detalhes.php?HotelId={$locais[$key]['!HotelId']}\">Mais detalhes</a><br />
<br />
<a href=\"procura_hotel_id.php?HotelId={$locais[$key]['!HotelId']}&Dataentrada_hotel_convertida=$Dataentrada_hotel_convertida&Datasaida_hotel_convertida=$Datasaida_hotel_convertida&Adultos_hotel=$Adultos_hotel&Criancas_hotel=$Criancas_hotel\">Mais quartos</a></td>
<td>{$locais[$key]['!Name']}</td>
<td>{$locais[$key]['!Chain']}</td>
<td>{$locais[$key]['!CategoryId']}</td>
<td>{$locais[$key]['!Category']}</td>
<td>{$locais[$key]['!Description']}</td>
<td>{$locais[$key]['!Address']}</td>
<td>{$locais[$key]['!Location']}</td>
<td>{$locais[$key]['!Thumb']}</td>
<td>{$locais[$key]['!Currency']}</td>
<td>Preço por diária: <br/>$total_dias_4<br/><br/>Total de $dias diárias: <br/>$total_dias_2
<br/><br/>Adultos: <br/>$Adultos_hotel
<br/><br/>Total: <br/>$total
</td>
<td>{$locais[$key]['!minAvrNightPriceNet']}</td>
<td>{$locais[$key]['!Tax']}</td>
<td>{$locais[$key]['!IsAvailable']}</td>
<td>{$locais[$key]['!HotelPreferencial']}</td>
<td>{$locais[$key]['!minNights']}</td>
</tr>";
}
echo "</tbody></table>";



Postagens
Male
