【问题标题】:Working with CDATA / Soap / PHP使用 CDATA / Soap / PHP
【发布时间】:2018-07-03 10:06:51
【问题描述】:

所以,我有这个 xml 文件:

xml

我使用这段代码用soap在php上获取这个xml

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

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

return

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

我试过了:

$xml = simplexml_load_string($return);

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

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

【问题讨论】:

  • 您需要使用代码格式标记而不是引号格式标记或图片来表达代码。

标签: php xml soap


【解决方案1】:

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

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

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

【讨论】:

  • 我已经发布了我的xml,两张图片都来自我的xml
  • 在您的问题上将您的 XML 发布为“代码示例”。不是图片。
【解决方案2】:

您无需致电__getLastResponse()。它将原始 HTTP 正文作为字符串提供给您,这不是您想要的。

这应该就是你所需要的:

$response = $clientrepasse->GetSchema($paramsrepasse);
print_r($response);

您不需要使用 XML。 $response 将是一个您可以立即使用的 PHP 对象。

请注意,您也不需要直接致电__soapCall()

【讨论】:

    猜你喜欢
    • 2012-10-23
    • 2021-09-03
    • 2016-08-05
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-02
    相关资源
    最近更新 更多