我将PHP中的一串XML标签和数据发送到另一台期待XML的服务器上的API。
我们通过命令行发送字符串,如此
exec("curl http://addressToAPI.com/index.php?xml=$xml", $response);
$ xml是标签和pringoperties发送到API的字符串。
API将字符串处理为XML并返回响应。但是,包含返回的成功或失败xml的$ response将作为不包含任何XML标记的数组发回。
不幸的是,我们将数据作为字符串发送,因为服务器运行PHP 4.3.9而没有domxml扩展,并且没有安装PHP curl。我们无法在另一台服务器上运行它,因为运行其他软件,我们无法升级服务器。
因为我们需要使用这个API,我们认为我们可以将XML作为字符串发送(这似乎工作正常),但我们得到的响应只是不作为字符串或xml返回。
我们知道API服务器在记录每个请求时返回XML,我们可以在其日志中看到输入文档并返回响应。
不知何故,似乎命令行curl正在将XML响应更改为没有标记的数组。
我希望这有一定道理。有没有人知道获得XML响应,以便我们可以成功检索数据。
答案 0 :(得分:0)
我们找到了解决方案。我仍然不确定为什么返回的响应只是一个字符串只是一个字符串,但设法让它包含数组元素中的标记。然后我们使用foreach循环将数组的每个键传递到字符串的末尾。
然后我们得到了我们想要的回复。
道歉,我理解任何人都很难在没有例子的情况下提供帮助,特别是当问题不明确时。事实证明,在您获得所需的解决方案之前,您只需要使用代码就可以了。
无论如何,非常感谢您在阅读这篇文章时的时间。