Извлечение данных XML на основе определенного узла

Я изо всех сил, чтобы извлечь некоторую информацию из файла XML на основе конкретного узла из файла XML, который выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8" ?>
<XMLResponse>
<ResponseType>HotelListResponse</ResponseType>
<TotalNumber>2</TotalNumber>
<Hotels>
<Hotel>
<HotelCode>YYYYYY</HotelCode>
<OldHotelId>X/XXXXXXXX</OldHotelId>
<DestinationId>XXXX</DestinationId>
<Destination>Name of city</Destination>
<Country>Name of country</Country>
<HotelName>Hotel Name</HotelName>
<StarRating>x</StarRating>
<HotelAddress>Hotel address</HotelAddress>
<HotelPostalCode>Zip Code</HotelPostalCode>
<HotelPhoneNumber>Hotel phone number</HotelPhoneNumber>
<HotelArea>Hotel area</HotelArea>
<Chain>Hotel Chain</Chain>
<Coordinates>
<Latitude>latitude</Latitude>
<Longitude>longitude</Longitude>
</Coordinates>
<HotelImages>
<ImageURL>URL1</ImageURL>
<ImageURL>URL2</ImageURL>
<ImageURL>URL3</ImageURL>
</HotelImages>
</Hotel>
</Hotels>
</XMLResponse>

Я хочу получить (вытащить) информацию из <HotelName> </HotelName> основанный на <HotelCode>YYYYY</HotelCode>
«YYYYY» отражается в моем файле php (<?php echo $hotel->hotelCode?><)
Я попробовал и прочитал все примеры, которые нашел, но ни один из них мне не помог.

Любая помощь будет высоко ценится.

-1

Решение

Это довольно просто сделать с xpath.

Пример:

$dom = new DOMDocument();
$dom->load($file);
$xpath = new DOMXPath($dom);
echo $xpath->evaluate('string(//Hotel[HotelCode = "YYYYYY"]/HotelName)');

Результат:

Hotel Name
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector