php - 使用 PHP 调用 URL 并获取 XML 响应

标签 php xml get response

<分区>

所以我在调用带有参数的 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)

最佳答案

我很幸运地使用了这样的代码:

$url = "http://feeds.bbci.co.uk/news/rss.xml";
$xml = file_get_contents($url);

if ($rss = new SimpleXmlElement($xml)) {
    echo $rss->channel->title;
}

关于php - 使用 PHP 调用 URL 并获取 XML 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29966304/

相关文章:

c - 为什么会出现段错误(C 中的信号量)?

Haskell:尝试对简单的 State monad get 和 put 进行脱糖

PHP CLI 通过 php.ini 抑制警告

xml - Postgres : using table_to_xmlschema on a table with a Box element

php - pdo 将变量绑定(bind)到准备好的 mysql 语句并使用 while 循环获取以显示在表中

android - 如何限制 Android 中 TableRow 中按钮的宽度?

php - php xpath查询以基于重复子节点中的值获取父节点

java - 如何在reactJS的get请求中设置参数

受IP限制的PHP+MySQL投票系统

PHP:如何从数据库中添加日期和月份?