Witam,

mam następujący kod:

$soapBody = $this -> _oXMLDocument -> getElementsByTagName('soap:Body') -> item(0);
$otaHotel = $soapBody -> appendChild($this -> _oXMLDocument -> createElement('OTA_HotelAvailRQ'));
$otaHotel -> setAttribute('xmlns', 'http://www.opentravel.org/OTA/2003/05');
$otaHotel -> setAttribute('Version', '1');
$availRequestSegments = $otaHotel -> appendChild($this -> _oXMLDocument -> createElement('AvailRequestSegments'));
$availRequestSegment = $availRequestSegments -> appendChild($this -> _oXMLDocument -> createElement('AvailRequestSegments'));
$stayDateRange = $availRequestSegment -> appendChild($this -> _oXMLDocument -> createElement('StayDateRange'));
$stayDateRange -> setAttribute('Start', $aData['dateStart']);
$stayDateRange -> setAttribute('End', $aData['dateEnd']);
$roomStayCandidates = $availRequestSegments -> appendChild($this -> _oXMLDocument -> createElement('RoomStayCandidates'));
           
 foreach ($i=0; $i < 3; $i++) {
                $roomStayCandidate = $roomStayCandidates -> appendChild($this -> _oXMLDocument -> createElement('RoomStayCandidate'));
                $guestCounts = $roomStayCandidate -> appendChild($this -> _oXMLDocument -> createElement('GuestCounts'));
            }

Jak wynika z kodu XML powinien wyglądać tak: (bynajmniej sama końcówka)

<RoomStayCandidates>
  <RoomStayCandidate>
    <GuestCounts />
  </RoomStayCandidate>
  <RoomStayCandidate>
    <GuestCounts />
  </RoomStayCandidate>
  <RoomStayCandidate>
    <GuestCounts />
  </RoomStayCandidate>
<RoomStayCandidates>

a wygląda tak:

<roomstaycandidates>
  <roomstaycandidate>
    <guestcounts/>
    <roomstaycandidate>
      <guestcounts/>
        <roomstaycandidate>
          <guestcounts/>
        </roomstaycandidate>
     </roomstaycandidate>
  </roomstaycandidate>
</roomstaycandidates>

Dlaczego? Może mi to ktoś wyjaśnić, jestem początkujący jeżeli chodzi o zabawę z XML-ami.