Создание XML с использованием SimpleXMLElement - PullRequest
0 голосов
/ 18 мая 2018
<?php
$xml =new SimpleXMLElement('<OTA_HotelAvailRQ></OTA_HotelAvailRQ>');

$xml->addChild("AvailRequestSegments");
    $AvailRequestSegment = $xml->addChild("AvailRequestSegment");
        $StayDateRange = $AvailRequestSegment->addChild("StayDateRange");
                $StayDateRange->addAttribute("Duration", "P2N");
                $StayDateRange->addAttribute("Start", $Start);
                $StayDateRange->addAttribute("End", $End);
        $RoomStayCandidates = $AvailRequestSegment->addChild("RoomStayCandidates");
                $RoomStayCandidates->addAttribute("123", "321");

        $HotelSearchCriteria = $AvailRequestSegment->addChild("HotelSearchCriteria");

echo $xml->asXML();
?>

XML, который мне нужно сгенерировать, это

<OTA_HotelAvailRQ>
   <AvailRequestSegments>
      <AvailRequestSegment>
         <StayDateRange Duration="P2N" Start="2018-10-17+03:00" End="2018-10-19+03:00" />
         <RoomStayCandidates>
            <RoomStayCandidate Quantity="1">
               <GuestCounts IsPerRoom="true">
                  <GuestCount Count="2" AgeQualifyingCode="10" />
               </GuestCounts>
            </RoomStayCandidate>
         </RoomStayCandidates>
         <HotelSearchCriteria>
            <Criterion ExactMatch="false">
               <Position />
               <Address FormattedInd="true">
                  <CityName>Athens Center</CityName>
                  <County>'.$Country.'</County>
                  <CountryName Code="GR" />
               </Address>
            </Criterion>
         </HotelSearchCriteria>
      </AvailRequestSegment>
   </AvailRequestSegments>
</OTA_HotelAvailRQ>

Но всякий раз, когда я добавляю дочерний узел [RoomStayCandidates] к $AvailRequestSegment, он добавляется как дочерний к $StayDateRange.

XML, сгенерированный для моего кода: XML, сгенерированный для моего кода

Я думаю, что мой код правильный.но я не получаю точный вывод.Пожалуйста, помогите в этом отношении.ТИА

...