I have an xml sheet of some hotel details, but when I try to read all data, its not showing all datas, just repeating the first hotel name or hotel data. Below have the link to xml code.
and I have tried this code to retrieve data,
$availabilityrs = simplexml_load_string($response3);
$hotel = $availabilityrs->hotels->hotel;
$hotel1 = $availabilityrs->hotels->hotel;
$room_nodes = $hotel->rooms->room;
foreach ($hotel1 as $room) {
echo "Hotel Name: ".$hotel['name']."\n"; ?><br /><?php
echo "Hotel Category: ".$hotel['categoryName']."\n"; ?><br /><?php
echo "Hotel Destination: ".$hotel['destinationName']."\n"; ?><br /><?php
echo "Room Name: ".$room['name']."\n"; ?><br /><br /><?php
}
and the result is like
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: Ibis Hotel Salmiya
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: Jumeirah Messilah Beach Hotel & Spa
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: The Regency Hotel
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: Times Square Suites
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: Ibis Sharq
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: Mövenpick Kuwait
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: JW Marriott Kuwait
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: Radisson Blu Hotel Kuwait
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: Safir Residence
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: Carlton Tower Hotel Kuwait
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: Courtyard By Marriott Kuwait
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: Oasis Hotel Kuwait
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: The Palms Beach Hotel & Spa
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: Marina Hotel
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: Al Manshar Rotana Hotel
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: Symphony Style Hotel Kuwait
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: Millennium Hotel & Convention Centre Kuwait
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: Le Royal Kuwait
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: Le Royal Tower Kuwait
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: Ramada Kuwait Hotel
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: Crowne Plaza Kuwait
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: Al Jahra Copthone Hotel & Resort
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: Best Western Plus Mahboula
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: New Park Hotel
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: Flora Park Apartment
Hotel Name: Ibis Hotel Salmiya Hotel Category: 3 STARS Hotel Destination: Kuwait Room Name: HOLIDAY INN KUWAIT AL THURAYA CITY
How to get all the data of hotel details
Try this i have made few changes:
$xml = "http://www.medhyaftravel.com/api/api3/myxmlfile.xml";
$xml = preg_replace(
'/^(<\?[xX][mM][lL]\s+[^\?\>]+encoding\s*=\s*([\'"]))utf-16\2/u',
'\1utf-8\2', file_get_contents($xml));
$xmlcont = new SimpleXMLElement($xml);
foreach($xmlcont as $url) {
$hotel = $url->hotel;
foreach($hotel as $hot){
echo $hot['name']; echo "</br>"; echo $hot['categoryName'];echo "</br>";
$roomtest = $hot->rooms->room; echo $roomtest['name'];
}
}
OR
$xml = "http://www.medhyaftravel.com/api/api3/myxmlfile.xml";
$xml = preg_replace(
'/^(<\?[xX][mM][lL]\s+[^\?\>]+encoding\s*=\s*([\'"]))utf-16\2/u',
'\1utf-8\2', file_get_contents($xml));
$availabilityrs = simplexml_load_string($xml);
foreach($availabilityrs as $url) {
$hotel = $url->hotel;
foreach($hotel as $hot){
$roomtest = $hot->rooms->room;
echo "Hotel Name: ".$hot['name']."<br/>";
echo "Hotel Category: ".$hot['categoryName']."<br/>";
echo "Hotel Destination: ".$hot['destinationName']."<br/>";
echo "Room Name: ".$roomtest['name']."<br/><br/><br/>";
}
}