Как конвертировать curl xml response в массив в php? - PullRequest
1 голос
/ 07 июля 2011

Я использую curl в своем проекте. Когда я отправляю запрос, ответ приходит в виде XML, как показано ниже. Как я могу преобразовать этот XML в массив для представления на веб-странице.

 <?xml version="1.0" encoding="UTF-8"?>
    <OTA_HotelAvailRS Version="1.0">
      <Success Id="140948"/>
       <Properties>
         <Property HotelCityCode="ELS" HotelCode="18918" HotelName="Premier Hotel Regent - Demo">
           <RelativePosition Direction="" Distance="0" DistanceUnitName=""/>
           <EssentialInfo>
           </EssentialInfo>
           <RoomStays>
                <RoomStay>
                     <RatePlans>
                          <RatePlan RatePlanCode="50010"/>
                     </RatePlans>
                     <RoomRates>
                          <RoomRate>
                               <Rates>
                                    <Rate EffectiveDate="2011-10-14" ExpireDate="2011-10-15">
                                         <Base Amount="114.00" CurrencyCode="EUR"/>

                                         <RateDescription Adults="1" Availability="A" Children="0" RoomNum="1">
                                              Standard
                                         </RateDescription>
                                    </Rate>
                               </Rates>
                          </RoomRate>
                     </RoomRates>
                     <Meals Description="Breakfast Buffet" MealType="Breakfast"/>
                </RoomStay>
           </RoomStays>
           <Promotions/>
           <AdditionalInfo>
                <HotelStarDetail rating="3"/>
                <HotelImages>
                     <HotelImage Type="" URL="http://image1.urlforimages.com/1204258guest.jpg"/>
                </HotelImages>
                <HotelDescription>
                     <LongDescription> description</LongDescription>
                </HotelDescription>
           </AdditionalInfo>
      </Property>          
 </Properties>

1 Ответ

6 голосов
/ 07 июля 2011

Зачем вообще преобразовывать его в массив? PHP довольно хорош с XML. Просто загрузите XML в SimpleXML или DOMDocument и используйте его напрямую.

$xml = new SimpleXMLElement($response);
echo $xml->properties->property['HotelName'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...