我很难理解如何在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>
请注意,Asset和Menu节点具有节点属性(id,type等)。
实际结果 当我在$ assets上执行var_dump或print_r时,我确实得到了成功的结果,但我无法在任何地方看到属性(id,type等)。最终的目标是获取XML数组并将数据写入MySQL表,但我也需要这些属性,并且搜索天数并未产生关于如何在PHP中访问完整数据结果的缺失部分。
VAR DUMP var_dump会产生类似的结果:
object(stdClass)#44 (1) {
["Account"]=>
object(stdClass)#45 (1) {
["Asset"]=>
array(2) {
[0]=>
object(stdClass)#46 (1) {
["Menu"]=>
string(12) "Software"
}
....
的print_r print_r($ assets)给出了类似的东西:
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之外,还有另一种方法可以查看结果,以便查看完整数据,包括属性吗?
提前致谢,如果我没有正确地提出问题,我会道歉(如果是的话,请告诉我,以便我可以使用正确的术语进行改写)。