<?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>
但是,每当我向$AvailRequestSegment
添加一个子级[RoomStayCandidates]节点时,该节点都将被添加为$StayDateRange
的子级。
为我的代码生成的XML是XML Generated for My code
我认为我的代码是正确的。但我没有得到确切的输出。请在这方面提供帮助。TIA
<?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();
?>
此工作。谢谢。