2013-03-01 2 views
1

아래 예제를 사용하여 "HotelRef"의 "Pricesode"속성을 어떻게 파싱해야합니까? 내가 SOAP 서버에서 응답을받을 수 있어요PHP에서 SOAP 속성을 얻는 방법은 무엇입니까?

<OTA_HotelAvailRQ Version="1.0" TimeStamp="2005-08-01T09:30:47+02:00" EchoToken="fb57388d" AvailRatesOnly="true" xmlns="http://www.opentravel.org/OTA/2003/05"> 
    <AvailRequestSegments> 
     <AvailRequestSegment AvailReqType="Room"> 
      <HotelSearchCriteria> 
       <Criterion> 
       <HotelRef HotelCode="HOTEL1"/> 
       </Criterion> 
      </HotelSearchCriteria> 
     </AvailRequestSegment> 
    </AvailRequestSegments> 
    </OTA_HotelAvailRQ> 

는, 출력은 아래를 참조하지만 HotelRef가 비어 알 수 있습니다. 속성에 어떻게 액세스합니까?

stdClass Object ( [AvailRequestSegments] => stdClass Object ( [AvailRequestSegment] => stdClass Object ( [HotelSearchCriteria] => stdClass Object ( [Criterion] => stdClass Object ( [HotelRef] => )

당신이 PHP와 .NET 비누 서비스에 액세스하지 않습니다! 깜짝에
+0

기도. (그들은 비표준 호환 비누 버전을 사용하는 경향이 있으며 PHP 비누 라이브러리는 그와 결합하지 않습니다.) – Bingy

+0

.NET을 사용하는 클라이언트에 문제가있을 수 있다고 경고하면서 공급 업체가 .NET에 있다고 생각하지 않습니다. – jimbo2087

답변

0
$strXML = 'theRequestXML_OTA_HotelAvailRQ'; 
$objSimpleXML = new SimpleXMLElement($strXML,NULL,NULL,"http://schemas.xmlsoap.org/soap/envelope/"); 
foreach ($objSimpleXML->children() as $objItems) { 

    $strHotelCode = $objItems->AvailRequestSegments->AvailRequestSegment->HotelSearchCriteria->Criterion->HotelRef->attributes()->{'HotelCode'}; 
} 
관련 문제