基于特定节点的 XML 数据提取


XML data extract based on specific node

我正在努力从基于特定节点的 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>

我想根据<HotelCode>YYYYY</HotelCode><HotelName> </HotelName>获取(提取)信息"YYYYY"在我的 php 文件中回显 ( <?php echo $hotel->hotelCode?>< )我已经尝试并阅读了我发现的所有例子,但没有一个帮助我。

任何帮助将不胜感激。

这很简单

xpath .

例:

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

结果:

Hotel Name