Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中解析包含节点属性的SOAP响应_Php_Xml_Soap - Fatal编程技术网

如何在PHP中解析包含节点属性的SOAP响应

如何在PHP中解析包含节点属性的SOAP响应,php,xml,soap,Php,Xml,Soap,我很难理解如何在PHP中查看/使用SOAP调用的XML结果。我有一个脚本,它向另一台服务器上的脚本发出SOAP请求,并发送XML响应。该响应具有许多嵌套节点,其中一些节点具有属性。我能够进行SOAP调用并获得响应,但是,使用var_dump和print_r可以得到没有属性的XML数组 以下是代码分解: PHPH脚本中发出SOAP请求的代码片段 use_soap_error_handler(true); $client = new SoapClient(null, array("uri" =>

我很难理解如何在PHP中查看/使用SOAP调用的XML结果。我有一个脚本,它向另一台服务器上的脚本发出SOAP请求,并发送XML响应。该响应具有许多嵌套节点,其中一些节点具有属性。我能够进行SOAP调用并获得响应,但是,使用var_dump和print_r可以得到没有属性的XML数组

以下是代码分解:

PHPH脚本中发出SOAP请求的代码片段

use_soap_error_handler(true);
$client = new SoapClient(null, array("uri" => "Lic", "location" => "http://mydomain.com/Lic.cgi", "trace" => 1));
$assets = $client->Menu($email,$account_id);
预期响应 该调用在另一台服务器上生成以下(样式的)XML结果:

<opt>
    <Account>
        <Asset id="1000">
            <Menu type="simple">Software</Menu>
        </Asset>
        <Asset id="2000">
            <Menu type="modal">Software</Menu>
            <Menu type="simple">Demo</Menu>
        </Asset>
    </Account>
</opt>
打印 而print_r($assets)给出了如下信息:

object(stdClass)#44 (1) {
  ["Account"]=>
  object(stdClass)#45 (1) {
    ["Asset"]=>
    array(2) {
      [0]=>
      object(stdClass)#46 (1) {
        ["Menu"]=>
        string(12) "Software"
      }
  ....
stdClass Object
(
    [Account] => stdClass Object
    (
        [Asset] => Array
        (
        [0] => stdClass Object
        (
            [Menu] => Software
        )
        [1] => stdClass Object
        (
        [Menu] => Array
            (
            [0] => Software
                [1] => Demo
            )
            ...    
除了var_dump和print_r之外,是否还有其他方式查看结果,以便查看完整数据,包括属性


提前感谢,如果我没有正确地提问,我表示歉意(如果是,请让我知道,以便我可以使用正确的术语重新措辞)。

您能为soap提供wsdl吗?我会帮你的,我会找到答案的。(我只是在PHP方面工作。另一个开发人员正在内部服务器上工作,运行CGI脚本来生成数据)。没有WSDL。这是一个PERL脚本,它使用类似于。。。“return SOAP::Data->type('xml'=>$xml_content);”。。。其中,$xml_内容包含上面post中的“xml”数据。