如何在PHP中解析SOAP响应?

如何在PHP中解析SOAP响应?,php,web-services,soap,Php,Web Services,Soap,我刚开始使用SOAP的web服务 我使用下面的代码获得响应 $response = $objClient->__getLastResponse(); 我的回应是: <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/X

我刚开始使用SOAP的web服务

我使用下面的代码获得响应

$response  = $objClient->__getLastResponse(); 
我的回应是:

<?xml version="1.0" encoding="UTF-8"?>
   <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <soapenv:Body>
         <ns1:getHotelValuedAvail xsi:type="xsd:string" xmlns:ns1="http://axis.frontend.hydra.hotelbeds.com">
             <HotelValuedAvailRS xmlns="http://www.hotelbeds.com/schemas/2005/06/messages" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" timeToExpiration="1771163" totalItems="387" echoToken="DummyEchoToken">
                 <PaginationData currentPage="1" totalPages="387"/>
                 <ServiceHotel xsi:type="ServiceHotel" availToken="ngQXOz+UOoLDtPieFMhu9wdw">
                    <DateFrom date="20130709"/>
                    <DateTo date="20130711"/>
                    <Currency code="EUR">Euro</Currency>
                    <HotelInfo xsi:type="ProductHotel">
                        <Code>99361</Code>
                        <Name>Hilton Sa Torre Mallorca Resort</Name>
                        <Position latitude="39.42761529999999936535" longitude="2.75602390000000019299"/>
                    </HotelInfo>
                 </ServiceHotel>
             </HotelValuedAvailRS>
         </ns1:getHotelValuedAvail>
      </soapenv:Body>
  </soapenv:Envelope>
有人能帮我得到Name元素的值吗? 我尝试过simplexml\u load\u string$response和X-Path/Name,但无法获得它。

您可以尝试使用:

您可以这样尝试:

$response  = $objClient->__getLastResponse();
$doc = new DOMDocument();
$doc->loadXML($response);
$names= $doc->getElementsByTagName( "Name" );
$name = $names->item(0)->nodeValue;
var_export( $name );

它返回空值。但当我放弃$doc时;我可以在Chrome的Insplect元素中看到节点。我通过文件“$response=file\u get\u contentssoap.xml;”解析了您的xml而不是$response=$objClient->\uu getLastResponse。它解析Name元素。