Jump to content


Photo

Imiprimir Variaveis Xml


  • Faça o login para participar
Nenhuma resposta neste tópico

#1 wawasurf

wawasurf

    Wawasurf

  • Usuários
  • 257 posts
  • Sexo:Masculino
  • Localidade:Criciuma

Posted 24/06/2013, 10:46

Olá,


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>";

Wagner Machado Martins
Webmaster
Agência Gigante
Criciúma - SC




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq