<分区>
所以我在调用带有参数的 URL(GET 请求)后尝试获取 XML 响应。我在下面找到了这段代码,它正在运行。
$url = "http://...";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt($ch, CURLOPT_ENCODING, "gzip,deflate");
$response = curl_exec($ch);
curl_close($ch);
echo $response;
但是作为响应,我得到了一个没有逗号的巨大字符串(所以我不能分解它)。而且这个字符串只有值,没有键。
有没有办法获取关联数组?
XML 是这样的:
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<transaction>
<date>2011-02-10T16:13:41.000-03:00</date>
<code>9E884542-81B3-4419-9A75-BCC6FB495EF1</code>
<reference>REF1234</reference>
<type>1</type>
<status>3</status>
<paymentMethod>
<type>1</type>
<code>101</code>
</paymentMethod>
<grossAmount>49900.00</grossAmount>
<discountAmount>0.00<discountAmount>
(...)
所以我想要一个像这样的数组:
date => ...
code => ...
reference => ...
(and so on)
这可能吗?如果是,怎么办?
编辑:我不同意“这个问题已经回答”标签。在指定主题上找不到代码可以解决我的问题。但是,无论如何,我找到了一种方法,使用下面的代码。
$url = http://...;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$transaction= curl_exec($curl);
curl_close($curl);
$transaction = simplexml_load_string($transaction);
var_dump($transaction); //retrieve a object(SimpleXMLElement)