将cURL响应转换为变量
问题描述:
我是curl和xml的noob,但是我已经搜索了这个网站和网络以获得对此的答案,而且我没有找到任何可行的方法。将cURL响应转换为变量
我使用cURL发送XML,收件人服务正在正确获取数据并创建我正在接收的响应。响应从curl_exec
回显为
<TRANS>
<HPAY>
<ID>223</ID>
<MLABEL>XXXX XXXX XXXX 9854</MLABEL>
<DATE>11/06/2013 21:00:36</DATE>
<SEN></SEN>
<REC>sc</REC>
<DEB>0.00</DEB>
<CRED>10.34</CRED>
<COM>2.00</COM>
<MSG></MSG>
<STATUS>3</STATUS>
</HPAY>
</TRANS>
现在我需要在变量转这些了,我现在在如何做到这一点抓我的头。
编辑,尝试粘贴浏览器源代码,但它不断改变它。然而,要回答先前的评论,这是一个XML响应
答
只使用SimpleXMLElement
$xml = new SimpleXMLElement($data);
$details = array();
foreach($xml->HPAY->children() as $k => $v) {
$details[$k] = "$v";
}
print_r($details);
输出
Array
(
[ID] => 223
[MLABEL] => XXXX XXXX XXXX 9854
[DATE] => 11/06/2013 21:00:36
[SEN] =>
[REC] => sc
[DEB] => 0.00
[CRED] => 10.34
[COM] => 2.00
[MSG] =>
[STATUS] => 3
)
答
你需要提取与像XPath的XML解析器
是响应XML并输出它在浏览器中,所以它隐藏了标签?查看页面源以确认。 – somedev
你想分开哪些部分?对于简单的空白分割,你可以使用'explode('',$ str);'。 – ComFreek
使用simplexml或DOMDocument。 – crush