使用CDATA / Soap / PHP

时间:2018-01-24 11:16:29

标签: php xml soap

所以,我有这个xml文件:

filter built-in function

我使用此代码在php上使用soap

获取此xml
$response = $clientrepasse->__soapCall("GetSchema", array($paramsrepasse));
$return = $clientrepasse->__getLastResponse()

当我使用$return函数显示print_r时,我得到了这个

xml

当我使用函数var_dump时,它显示$ return是一个字符串(40000)位置。

我试过了:

$xml = simplexml_load_string($return);

当我打印$xml它是空的时,我需要将该字符串转换为xml然后转换为json,或类似的东西,因为我需要处理该xml。

任何帮助将不胜感激。谢谢你,对我的英语感到抱歉。

2 个答案:

答案 0 :(得分:0)

您的XML具有名称空间。当XML具有名称空间时,simplexml不会将XML加载到XML对象中。您必须注册您的命名空间才能使用simplexml_load_string加载XML。

检查以下链接: XML to JSON  XML to JSON

发布XML以获取特定于XML的答案。

答案 1 :(得分:0)

您不应该致电function nextSlide() { $scope.currentIndex = ($scope.currentIndex < $scope.slides.length - 1) ? ++$scope.currentIndex : 0; $timeout(nextSlide, interval); } 。它为您提供原始HTTP正文作为字符串,这不是您想要的。

这应该是你所需要的:

__getLastResponse()

您不需要使用XML。 $response = $clientrepasse->GetSchema($paramsrepasse); print_r($response); 将是一个PHP对象,您可以立即使用它。

请注意,您也不需要直接致电$response