如何在PHP中解析包含节点属性的SOAP响应
我很难理解如何在PHP中查看/使用SOAP调用的XML结果。我有一个脚本,它向另一台服务器上的脚本发出SOAP请求,并发送XML响应。该响应具有许多嵌套节点,其中一些节点具有属性。我能够进行SOAP调用并获得响应,但是,使用var_dump和print_r可以得到没有属性的XML数组 以下是代码分解: PHPH脚本中发出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" =>
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”数据。