【发布时间】:2015-05-04 12:11:43
【问题描述】:
我正在尝试将此 XML 转换为数组,这是我从 API 获得的响应,我想获取 statuscode 的值,但我无法做到。
<?xml version='1.0' encoding='utf-8' standalone='no'?>
<REGISTRATIONRESPONSE>
<STATUSCODE>20</STATUSCODE>
<STATUS>1234</STATUS>
</REGISTRATIONRESPONSE>
但是当我使用以下代码时
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 6);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,'RequestData='.$post);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/x-www-form-urlencoded'));
$result = curl_exec($ch);
$resultres=xml2ary($result);
echo '<pre>';
print_r($resultres);
输出是
Array
(
[string] => Array
(
[_a] => Array
(
[xmlns] => http://tempuri.org/
)
[_v] => 201234
)
)
结果如何变化?我还使用了另一种技术,但我也没有得到所需的结果
【问题讨论】:
-
请发布原始
$result。还有你的$post是什么,对吗? -
问题中的第一个 xml 是原始 $result 和 $post 是 xml 我发送它是正确的我也得到了正确的结果,但我无法分离值并将其放入变量。
-
xml2ary()是一个自定义函数。我们应该猜测它的实现吗? -
那个函数不工作所以离开它你能建议任何其他方法从 XML 中获取值吗?
-
给我你的 curl 网址